MySQL性能:许多行和列(MyISAM)

时间:2011-10-20 19:42:31

标签: mysql optimization split

由于我还在网站设计的初期,我觉得现在是讨论这个问题的好时机。

我知道优化MySQL查询的方法之一是将行拆分为单独的表,但这确实有一些安慰问题。

我正在考虑的是:使用设计精良的索引查询包含大约1'000'000行和150列的表格,并从中获取每个查询结果中只需要的列很多服务器负载比将表分成多个服务器负载更多,导致更少的列?

2 个答案:

答案 0 :(得分:2)

大blob表是一种反模式,从不使用它们。

规范化表的运行速度比单个blob快得多 InnoDB针对需要连接的许多小型表进行了优化。

使用规范化表格除了可以为您节省许多麻烦:

  1. 您的数据会更小,因此更多内容适合内存。
  2. 您只将数据存储在一个位置,因此无法以不一致的数据结束。
  3. MySQL只允许每个表每个选择使用一个索引,多个表意味着您可以使用更多索引并获得更快的速度。
  4. 表上的触发器执行得更快。
  5. 规范化表格更易于维护。
  6. 每个表的索引较少,因此插入速度更快。
  7. 索引较小(较少的行)和较窄(较少的列),因此运行速度会更快。

答案 1 :(得分:0)

如果数据是静态的,您可以打包表以提高效率。这是page in the reference manual