我应该将备用列添加到MySQL表中,以准备大量的行吗?

时间:2017-03-25 09:32:20

标签: mysql

我过去遇到过MySQL的一个问题是处理大表。一旦表格超过一百万行,添加列就变得更加困难。关于解决这个问题的方法有很多讨论:

https://dba.stackexchange.com/questions/44777/how-to-add-column-to-big-table-in-mysql

规划只在业务中进行到目前为止,最终我知道我需要添加更多列。目前我有大约160,000所以我开始考虑未来打样

  

您认为值得我添加备用列吗?其他   单词,尚未用于任何内容的列。

如果是这样,我应该采取什么方法?我应该为char,int,text等不同类型添加列吗?

1 个答案:

答案 0 :(得分:1)

备用列不是最佳方式,以防新开发人员必须通过应用程序而不知道它或者有可能在应用程序中添加了一些没有任何值的列,而您以后忘记了它。

其他一些选项可能适合您的需求:

<强> 1 即可。创建一对一关系的新表。

优点:现有数据和结构没有问题。如果使用function combinationArr(chars) { var resultArr = []; var func = function(prefix, chars) { for (var i = 0; i < chars.length; i++) { resultArr.push(prefix + chars[i]); func(prefix + chars[i], chars.slice(i + 1)); } } func('', chars); return resultArr; } var combinations = combinationArr(["A", "B", "C","D","E"]); document.getElementById("demo").innerHTML = combinations;

调用查询,前端将是安全的

缺点:必须单独创建表上的关联触发器。

<强> 2 即可。向现有表添加更多列:

优点:表格数量有限。          不需要重新创建基于表的触发器。

缺点:可以引发数据库结构规范化问题。          特别是在复合列索引时,需要进行列索引。插入没有列列表的查询将破坏系统的工作。

没有有效的预测,添加多种类型的列是没有意义的。