Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Resetowanie AUTO_INCREMENT zajmuje dużo czasu w MySQL

ALTER TABLE powoduje przebudowanie całej tabeli - jeśli Twoja tabela zawiera wiele wierszy, może to zająć wieki.

Jeśli potrzebujesz tylko podnieść wartość wartości auto_increment, najszybszym sposobem jest wstawienie fikcyjnego wiersza (a następnie usunięcie tego wiersza, jeśli zajdzie taka potrzeba). Zajmie to tylko ułamek sekundy, podczas gdy ALTER TABLE może zająć kilka dni w przypadku dużego stołu.

Załóżmy na przykład, że mam tabelę z kolumną auto_increment ID i innymi kolumnami col1, col2...:

insert into autoinc_table set ID = 10000000;
delete from autoinc_table where ID = 10000000;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wybierz wiele wierszy w jednym wierszu wyników

  2. Dlaczego potrzebuję OR NULL w MySQL podczas liczenia wierszy z warunkiem?

  3. tabela zapytań co sekundę w celu powiadomienia. Czy to dobra praktyka?

  4. Pobieranie komunikatu SQLEXCEPTION w procedurach MySQL 5.5.x

  5. Podstawy dostrajania MySQL na serwerach dedykowanych