- 13, May 2024
- #1
Удаление пустого места из базы данных
Позвольте мне объяснить ситуацию.
Предположим, я создаю новую таблицу со столбцом auto_increment и делаю в нее 3 новые вставки.
Таблица: id, имя
1, Джон
2, Алекс
3, Джет
Затем я удаляю последнюю запись и создаю новую.
Теперь MySQL удалит запись с идентификатором записи «3», но не добавит новую запись с идентификатором «3».
Новая запись будет добавлена с идентификатором записи «4».
Итак, таблица будет выглядеть так:
1, Джон
2, Алекс
4, Сэм
Я думаю, что если в таблице произойдет много удалений, то со временем в базе данных будет создано много таких пустых мест, что в конечном итоге замедлит выполнение запросов «выбрать».
Это верно?
Как я могу решить эту проблему?
Я попытался экспортировать всю таблицу, а затем восстановить ее.
Но в дампе экспорта есть поле идентификатора записи.
Таким образом, даже после экспорта и импорта таблица по-прежнему выглядит так:
1, Джон
2, Алекс
4, Сэм
Я не уверен, присутствует ли нулевой идентификатор записи «3» или нет...
таблица оптимизации тоже не работает.
Это занимает много времени, и при этом истекает срок действия PHP time_limit или mysql исчезает.
Есть идеи? Спасибо
Позвольте мне объяснить ситуацию.
Предположим, я создаю новую таблицу со столбцом auto_increment и делаю в нее 3 новые вставки.
Таблица: id, имя
1, Джон
2, Алекс
3, Джет
Затем я удаляю последнюю запись и создаю новую.
Теперь MySQL удалит запись с идентификатором записи «3», но не добавит новую запись с идентификатором «3».
Новая запись будет добавлена с идентификатором записи «4».
Итак, таблица будет выглядеть так:
1, Джон
2, Алекс
4, Сэм
Я думаю, что если в таблице произойдет много удалений, то со временем в базе данных будет создано много таких пустых мест, что в конечном итоге замедлит выполнение запросов «выбрать».
Это верно?
Как я могу решить эту проблему?
Я попытался экспортировать всю таблицу, а затем восстановить ее.
Но в дампе экспорта есть поле идентификатора записи.
Таким образом, даже после экспорта и импорта таблица по-прежнему выглядит так:
1, Джон
2, Алекс
4, Сэм
Я не уверен, присутствует ли нулевой идентификатор записи «3» или нет...
таблица оптимизации тоже не работает.
Это занимает много времени, и при этом истекает срок действия PHP time_limit или mysql исчезает.
Есть идеи? Спасибо