mysql数据库表是否可以包含120多列

时间:2018-01-02 08:57:36

标签: mysql

当mysql服务器表包含超过120列时会出现什么问题?

2 个答案:

答案 0 :(得分:1)

从技术角度来看,没有考虑表格中你需要120列的原因mysql文档5.7说:

  

列数限制

     

MySQL每个表的硬限制为4096列,但有效   对于给定的表格,最大值可能会更小。

see image

答案 1 :(得分:0)

这是一种不好的做法,使表中的120列更好地分成多个表。

由于MYSQL以关系数据库而闻名,因此建立基于关系的表结构。

一旦您的应用程序变得更大,问题列表就会出现。

  1. 应用程序变慢(因为从表中获取数据的速度很慢)。
  2. 如果您的互联网速度很慢,那么您可能无法加载应用程序页面。
  3. 如果由于列数而一次加载大量数据,那么您的服务器需要更多带宽。
  4. 您可能无法在移动设备上打开,因为移动设备可以更好地处理少量数据。
  5. https://dba.stackexchange.com/questions/3972/too-many-columns-in-mysql

    There is a hard limit of 4096 columns per table, but the effective maximum may be less for a given table. The exact limit depends on several interacting factors.
    
    Every table (regardless of storage engine) has a maximum row size of 65,535 bytes. Storage engines may place additional constraints on this limit, reducing the effective maximum row size.
    
    The maximum row size constrains the number (and possibly size) of columns because the total length of all columns cannot exceed this size.
    
    ...
    
    Individual storage engines might impose additional restrictions that limit table column count. Examples:
    
    InnoDB permits up to 1000 columns.