今すぐプライマリキーをテーブルに追加すると、2時間で完了します。MySQLテーブルでプライマリキーを追加する速度を上げる方法
:下記として
ALTER TABLE <table-name> ADD PRIMARY KEY (a,b,c,d,e);
a: VARCHAR(50) NOT NULL COLLATE 'utf8_general_ci',
b: SMALLINT UNSIGNED,
c: YEAR SMALLINT(4) NOT NULL,
d: INT UNSIGNED NOT NULL DEFAULT '0',
e: INT UNSIGNED NOT NULL,
この特定のテーブル内の各列の順列の数12個の順列 B:83個の順列 C:6つの順列 D:200個の順列 E:200順列
今は、列aをVARCHAR(50)からINTに変更する予定です。私は質問をスピードアップするための他のトリックがあるのだろうか?ありがとう。
いくつかのより多くの情報:
MySQL 5.6
50 million rows
Using InnoDB
Didn't tune any Innodb settings. All default Amazon AWS Aurora settings.
SSD
There is another index on
d: INT UNSIGNED NOT NULL DEFAULT '0',
e: INT UNSIGNED NOT NULL,
Two other indexes on other columns f & g, which are not included in the primary key. Thanks.
スピニーディスクまたはSSD?何行ですか?いくつの他の身分証明書? InnoDBエンジンをチューニングしましたか、InnoDBを使用していますか?あまりにも多くの変数があります。こんにちは@tadman; – tadman
ありがとう。編集した投稿の質問に答えてください。ありがとうございました。 – Chubaka
ここではストレージコンポーネントが非常に重要です。 HDDはSSDよりも数桁遅いでしょう。私はちょうど通常のHDDで1週間かかるだろうが、SSDでわずか6時間かかったこのような移行を行った。感謝@タドマン。 – tadman