Database 数据库核心数据的管理策略

Database 数据库核心数据的管理策略,database,Database,我想通过以下场景获得数据库主数据的一些策略: 有“国家”和“个人”两个表格。每个人都有一个原籍国。创建人员时,我可以使用以下选项: 我开始对数据库进行查询,如果国家已经存在,我会获取其ID,否则我会在表中创建国家和个人 我在程序开始时将表“countries”加载到内存中并进行检查 我在数据库上创建了一个存储过程来实现这个逻辑 我对三大战略的思考: 由于不断对数据库进行查询,性能较差 性能良好,因为检查发生在内存中,但随着时间的推移,表可能会相当大,程序将占用大量内存 性能良好,因为针对数据库创

我想通过以下场景获得数据库主数据的一些策略:

有“国家”和“个人”两个表格。每个人都有一个原籍国。创建人员时,我可以使用以下选项:

  • 我开始对数据库进行查询,如果国家已经存在,我会获取其ID,否则我会在表中创建国家和个人

  • 我在程序开始时将表“countries”加载到内存中并进行检查

  • 我在数据库上创建了一个存储过程来实现这个逻辑

  • 我对三大战略的思考:

  • 由于不断对数据库进行查询,性能较差

  • 性能良好,因为检查发生在内存中,但随着时间的推移,表可能会相当大,程序将占用大量内存

  • 性能良好,因为针对数据库创建了一个查询,并且它管理所有内容。对数据库的依赖可能是有害的。如果数据库应该更改,则可能需要调整存储过程

  • 是否有其他策略来掌握这种情况?
    提前感谢。

    是否有太多数据需要您考虑性能优化?您确定有任何性能问题吗?如果创建存储过程,您仍然会不断调用查询。这不会给你带来任何性能提升。国家数量有限,在内存中保存所有国家的列表不太可能是一个很大的内存量。