答案 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并在另一台计算机上重新加载它。 (或者,如果需要,可以使用同一台计算机。)