注:この質問が以前に聞かれたかどうかを調べるために検索しました。私が見つけることができた既存の質問はすべて、複合インデックスの順序付け、または既存のテーブルのクエリの列の順序付けを求めています。CREATE TABLE文のKEYの順序は重要ですか?
は、私は次の表を持って言ってやるがいい。
CREATE TABLE `foobar` (
`foo_id` int(11),
`bar_id` int(11),
KEY `foo_id` (`foo_id`),
KEY `bar_id` (`bar_id`)
);
それはそれで2つの無関係なインデックスを持っています。私は2つのインデックスの定義を交換した場合、それは次のようになります。
CREATE TABLE `foobar` (
`foo_id` int(11),
`bar_id` int(11),
KEY `bar_id` (`bar_id`),
KEY `foo_id` (`foo_id`)
);
を、私はこれらのそれぞれにSHOW CREATE TABLE foobar
を実行する場合、私は各テーブルのKEY
秒の順序に差があることがわかります。私の質問は、この特定の場合の注文は重要なのでしょうか? foo_id
とbar_id
がコンポジットインデックスで一緒に使用された場合は問題になることはわかっていますが、ここではそうではありません。
本当に問題がある場合は、テーブルが作成されたら、キーを任意に再配置する方法がありますか? (ALTER TABLE foobar ADD INDEX foo_id (foo_id) AFTER bar_id
に似たものがありますが、私は書かれているようには間違いないと確信しています)
私は_columns_を並べ替えようとしていません。_indexes_の順序が重要かどうか、もしそうなら、並べ替える方法が不思議です。 – smitelli
あなたの質問を理解できませんでした。今私はこれも探しています。 –