Php 缩短MongoDB数据库中的属性名称是一个好主意吗?
有时,我们在DB中有许多字段和大型数据集(我使用的是mongoDB)。有一件事在我脑海中浮现,就是通过在数据库中保留shortenname来在数据库中保存一些字节。 像 年份:年 月份:mn isSameCity:isSmCt 那么,这种方法是好是坏。或者,这取决于案例基础Php 缩短MongoDB数据库中的属性名称是一个好主意吗?,php,python,database,mongodb,Php,Python,Database,Mongodb,有时,我们在DB中有许多字段和大型数据集(我使用的是mongoDB)。有一件事在我脑海中浮现,就是通过在数据库中保留shortenname来在数据库中保存一些字节。 像 年份:年 月份:mn isSameCity:isSmCt 那么,这种方法是好是坏。或者,这取决于案例基础 请指导我。MongoDB的一个常见性能优化策略是在文档中使用短字段名 也就是说,不是创建这样的文档 {名字:“乔恩”,姓氏:“海曼”} 使用较短的字段名,使文档看起来像 {fn:“乔恩”,ln:“海曼”} 由于MongoDB
请指导我。MongoDB的一个常见性能优化策略是在文档中使用短字段名 也就是说,不是创建这样的文档 {名字:“乔恩”,姓氏:“海曼”} 使用较短的字段名,使文档看起来像 {fn:“乔恩”,ln:“海曼”} 由于MongoDB没有列或预定义模式的概念,因此这种结构很有优势,因为数据库中的每个文档上都有重复的字段名。如果您有一百万个文档,每个文档上都有一个“first_name”字段,那么您将该字符串存储一百万次。这会增加每个文档的空间,这最终会影响内存中可以容纳多少文档,并且在很大程度上可能会略微影响性能,因为MongoDB在读取文档时必须将文档映射到内存中
参考MongoDB的一个常见性能优化策略是在文档中使用短字段名 也就是说,不是创建这样的文档 {名字:“乔恩”,姓氏:“海曼”} 使用较短的字段名,使文档看起来像 {fn:“乔恩”,ln:“海曼”} 由于MongoDB没有列或预定义模式的概念,因此这种结构很有优势,因为数据库中的每个文档上都有重复的字段名。如果您有一百万个文档,每个文档上都有一个“first_name”字段,那么您将该字符串存储一百万次。这会增加每个文档的空间,这最终会影响内存中可以容纳多少文档,并且在很大程度上可能会略微影响性能,因为MongoDB在读取文档时必须将文档映射到内存中 从引用: 过早优化是编程中所有罪恶(或至少大部分)的根源 然而,构建您的应用程序似乎是最明智、最可维护和最合乎逻辑的。然后,如果您有性能或存储问题,请处理影响最大的问题,直到性能令人满意,或者收益递减定律意味着没有必要进一步优化 如果您不确定特定设计决策的影响(如较长的物业名称),请创建一个原型来测试各种假设(如“较短的物业名称会节省大量空间吗”)。不要期望测试的结果是决定性的,但是它可能会教给你一些你没想到会学到的东西 引用自:引用: 过早优化是编程中所有罪恶(或至少大部分)的根源 然而,构建您的应用程序似乎是最明智、最可维护和最合乎逻辑的。然后,如果您有性能或存储问题,请处理影响最大的问题,直到性能令人满意,或者收益递减定律意味着没有必要进一步优化 如果您不确定特定设计决策的影响(如较长的物业名称),请创建一个原型来测试各种假设(如“较短的物业名称会节省大量空间吗”)。不要期望测试的结果是决定性的,但是它可能会教给你一些你没想到会学到的东西 参考:在设计数据模型时,可以避免使用长名称属性(或“异常长名称属性”)。在我之前的组织中,我们测试了保留短名称属性策略,例如,组织定义的4-5个字母编码字符串,例如: