私は大きなプライベートテーブルのテーブルを持っていますが、私はインデックスがありません。 Mysqlの大きなテーブルでテーブルから他のデータに移動する方法
と私はインデックスを作成したいと思いますが、problemeが、私は追加のインデックス要求を実行すると、テーブルサーバが壊れているということです。
ALTER TABLE `db`.`table`
ADD INDEX `index_0001` (`col1` ASC);
だから私は、新しいテーブルと設定に必要なインデックスと動きを作成します。データを新しいテーブルに追加し、名前を変更します。
私は、このマニピュレータを試してみました:
INSERT INTO `db`.`table` (field1,field2,..) select field1,field2,....from eventdata limit 100000 offset 0 ;
INSERT INTO `db`.`table` (field1,field2,..) select field1,field2,....from eventdata limit 100000 offset 100000 ;
INSERT INTO `db`.`table` (field1,field2,..) select field1,field2,....from eventdata limit 100000 offset 200000 ;
.......... etc
しかし時に、オフセットがより遅くなるより、その後億クエリライン応答になります。
他にも解決策はありますか?
ありがとうございました。 しかし、私は3つのフィールドから複合プライマリキーを持っています – ALWAN
@ALWANこのサンプルは唯一のサンプルです、根本原因は、テーブルのフルスキャン、プライマリキーまたは他のunqueキーを使用するより良い方法です:P –