Разделение на 2 таблицы.

Opik

Новичок
Разделение на 2 таблицы.

Есть таблица, пусть N.
С этой таблицы частые селекты, инсерты и упдайты. и данных очень много, что со временем начинает тормозить, а часть "живых" данных в ней невелика. Поэтому логичным будет сделать 2 таблицы.
N2(типа HEAP) и N3(типа myISAM).
N2 - для живых данных.
N3 - для архива.

Т.е после того, как "живые" данные больше не нужны - относим их в архивную таблицу (она используется, но гораздо реже.)

Всё ок. все довольны, НО 1 НО:
При рестарте сервера или самой базы auto_increament поле будет так же сброшено на 1 и в двух таблицах будут записи с 1 ID, что просто неприемлимо. Как лучше проводить синхронизацию?

Единственное, что идет в голову - перед занесением во временную таблицу - смотреть последний ид в архивной(если первая пустая). Но нужен вариант без лишних запросов(желательно, ведь это делается как раз для прироста производительности.)
 

Andreika

"PHP for nubies" reader
а если if COUNT(*) = 0 то ищем макс. в архиве и alter table устанавливаем autoincrement ?
первое будет из инфы таблицы браться, второе с индексом, а переустановить 1 раз - не переломится
 
Сверху