【发布时间】:2009-07-08 12:20:03
【问题描述】:
表格有两列:
CREATE TABLE items (
k INT auto_increment PRIMARY KEY,
val INT UNSIGNED
) ENGINE=MyISAM;
我在表格中放了四项:
INSERT INTO items (val) VALUES (12),(23),(45),(56);
现在如果我这样做:
EXPLAIN SELECT * FROM items ORDER BY k;
我得到了可怕的“使用文件排序”。这是怎么回事?根据this page,它应该使用索引进行排序。我做错了吗?
在 XP 上的 MySQL 5.0.41 和 ubuntu 上的 5.0.67 上测试。
更新:我向表中添加了 1,110,000 行,我添加了一个 VARCHAR 列并用文本填充它。表大小现在为 135MB,我仍在“使用文件排序”。
- 有人对如何快速添加大量行有任何提示吗?
- 在什么时候我应该考虑一个“足够大”的表来进行查询优化测试?
【问题讨论】: