索引非常大的表 - 基本性能信息

时间:2014-03-14 13:53:43

标签: php mysql sql performance

1 个答案:

答案 0 :(得分:0)

  

当我使用GUI(SqlYog)查看数据时,我将结果限制为   1000行甚至5000行,它工作得很完美 - 需要一点时间但是有效   好。所以表似乎没问题。

使用CHECK TABLE table-name检查表格是否存在问题。首先阅读the docs

性能的一个经验法则是索引WHERE子句中使用的每个列。所以你至少要索引“item_type”,“item_language”和“item_country”。我假设全文列“item_query”已经有一个全文索引; “item_address”的通配符条件不能使用索引。复合索引可能很有用。

要隔离问题,请尝试删除“item_address”的条件。还要学会使用和解释MySQL's EXPLAIN

我这里有一张3000万行的表。在varchar(35)列上创建索引大约需要10分钟。我的电脑没什么特别的。

如果您要将数据加载到新表中,最好使用 no 索引创建表,没有主键,也没有外键;然后加载数据;最后创建索引,主键和外键。

您也可以尝试dumping the database并在另一台计算机上重新加载它。 (或者,如果需要,可以使用同一台计算机。)