具有大量列的mysql表的最佳方法

时间:2017-08-26 18:22:56

标签: php mysql database-performance

Mysql表。

phones
| ID | Name  //5-6 columns
Specifications
| ID |phone_id| ram | camera | price |network // 50 columns approx 

到目前为止,我的规范表有50列,所以我需要一个如何处理这种情况的建议?我是否需要创建一些其他表来拆分规范表,还是可以继续使用它? 我需要一个更好的建议来提高速度和性能。

2 个答案:

答案 0 :(得分:1)

  

处理超过50列不是最好的方法 -

  1. 插入,更新,选择等数据库操作可能需要一些时间。
  2. 在交易时处理数据变得很困难 表中有50多列。
  3. 所以我建议不要继续在表格中添加列。 mysql-table-with-40-columns可能有助于解决您的问题。

答案 1 :(得分:1)

也许你可以拥有1个包含id,name,date和更多帖子特定内容的主表。 然后你可以创建1个meta_table,其中包含id,main_id(这链接到主表中的帖子),meta_name(即:价格或颜色或尺寸),meta_value(即:125,95或黑色或150 x 50 x 8) )。 通过这种方式,您可以将存储在1个表中的尽可能多的列类值与使用id的1个主表链接。 这与wordpress正在使用的概念相同。

否则你也可以在主表中使用一个称为序列化数据/数组的东西,这是一个包含许多数组键及其值的列字段。