テーブルには2つの列があります。
CREATE TABLE items (
k INT auto_increment PRIMARY KEY,
val INT UNSIGNED
) ENGINE=MyISAM;
私はテーブルに4つのアイテムを置きました:
INSERT INTO items (val) VALUES (12),(23),(45),(56);
今私がする場合:
EXPLAIN SELECT * FROM items ORDER BY k;
私は恐ろしい「ファイルソートを使用して」取得します。どうしたの?このページによると、注文にはインデックスを使用する必要があります。私は何か間違ったことをしていますか?
XPではMySQL5.0.41で、ubuntuでは5.0.67でテストされています。
更新:テーブルに1,110,000行を追加し、VARCHAR列を追加してテキストで埋めました。テーブルサイズは135MBになりましたが、まだ「ファイルソートを使用」しています。
- たくさんの行をすばやく追加する方法について、誰かがヒントを持っていますか?
- クエリ最適化テストに「十分な大きさ」のテーブルをどの時点で検討する必要がありますか?