1

最近、いくつかのインデックスを作成するようアドバイスを受けました。これが私のSQLコードです

CREATE INDEX my_idx1 ON identdb (name,long1,lat1,date,count);
CREATE INDEX my_idx2 ON identdb (name,long1,lat1,date);
CREATE INDEX my_idx3 ON identdb (long1,lat1,date);
CREATE INDEX my_idx4 ON identdb (long1,lat1);

700 万行、7 列あり、これをローカル データベースで実行しています。

約16時間稼働しています。私は何か間違ったことをしましたか?

4

1 に答える 1

3

16時間は長すぎるようですが、しばらく時間がかかる場合があります。show processlistを実行して、がまだ実行されているかCREATE INDEXどうか、または何かでブロックされているかどうかを確認します。

ちなみに、2つのインデックスは冗長です(my_idx2my_idx4)。別のインデックスのプレフィックスであるインデックスは不要です。長いインデックスは、短いインデックスが使用されていた場所であればどこでも使用できるためです。

于 2012-09-11T19:18:35.067 に答える