Dlaczego aktualizacja tabeli po prostu zajmuje więcej niż godzinę, aby dodać kolumnę? Ta tabela ma 15 milionów wierszy. Ma 2 indeksy i pojedynczy klucz podstawowy. Zapytanie ALTER TABLE znajdowało się w stanie "Kopiuj do tabeli tmp" przez 1 godzinę i 15 minut.MySQL bardzo wolno dla zapytania tabeli zmian
ALTER TABLE `frugg`.`item_catalog_map`
ADD COLUMN `conversion_url` TEXT NULL DEFAULT NULL
Tabela:
mysql> describe item_catalog_map;
+------------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+---------------+------+-----+---------+-------+
| catalog_unique_item_id | varchar(255) | NO | PRI | NULL | |
| catalog_id | int(11) | YES | MUL | NULL | |
| item_id | int(11) | YES | MUL | NULL | |
| price | decimal(10,2) | YES | | 0.00 | |
+------------------------+---------------+------+-----+---------+-------+
mysql> show index from item_catalog_map;
+------------------+------------+----------------------+--------------+------------------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+------------------+------------+----------------------+--------------+------------------------+-----------+-------------+----------+--------+------+------------+---------+
| item_catalog_map | 0 | PRIMARY | 1 | catalog_unique_item_id | A | 15485115 | NULL | NULL | | BTREE | |
| item_catalog_map | 1 | IDX_ACD6184FCC3C66FC | 1 | catalog_id | A | 18 | NULL | NULL | YES | BTREE | |
| item_catalog_map | 1 | IDX_ACD6184F126F525E | 1 | item_id | A | 15485115 | NULL | NULL | YES | BTREE | |
+------------------+------------+----------------------+--------------+------------------------+-----------+-------------+----------+--------+------+------------+---------+
Może ten wątek z podobnym pytaniem będzie ci pomóc ... http: //stackoverflow.com/questions/1359097/mysql-alter-table-on-very-large-table-is-it-safe-to -run-it –
Przejście tego wątku również ... http: //stackoverflow.com/questions/5677932/optimize-mysql-for-faster-alter-table-add-column –
byłoby super, gdyby to był jakiś rodzaj paska postępu, komunikatu statusu lub przynajmniej kursora, LOL. Zwłaszcza, że "Modyfikuj kolumnę" zabrało moją stronę w trybie offline. –