День добрый,У меня вот такой вопросик, есть таблица, в ней три поля, первое числовое id, а два вторых тексотвые varchar.
В таблицу я загоняю 10000000 записей (10 мулей). Когда я удалю первую половину, то после этого запрос на выборку типа select * from tablename limit 1 будет выполнятся несколько секунд. А перед удалением селект выполнялся моментально.
Почему запрос дольше выполняется, если id уже большое число (>5 мулей) и можно как то это исправить ?
Заранее благодарен
>[оверквотинг удален]
>У меня вот такой вопросик, есть таблица, в ней три поля, первое
>числовое id, а два вторых тексотвые varchar.
>В таблицу я загоняю 10000000 записей (10 мулей). Когда я удалю первую
>половину, то после этого запрос на выборку типа select * from
>tablename limit 1 будет выполнятся несколько секунд. А перед удалением селект
>выполнялся моментально.
>Почему запрос дольше выполняется, если id уже большое число (>5 мулей) и можно как то это исправить ?
>
>
>Заранее благодарена падумать? )) например о том откуда будет взято значени до и после удаления (имеется ввиду физический файл)
открыть для себя то, что СУБДешки как правило не стремятся сразу преписывать файл при удалеении записей, а помечают внути файла место как удаленное - для этого есть спец процедуры типа "optimize table".и что ваообще за такая мега крутая задача загнать 10млн записей и тутже стереть 5млн )))
>а падумать? )) например о том откуда будет взято значени до и
>после удаления (имеется ввиду физический файл)
>открыть для себя то, что СУБДешки как правило не стремятся сразу преписывать
>файл при удалеении записей, а помечают внути файла место как удаленное
>- для этого есть спец процедуры типа "optimize table".
>
>и что ваообще за такая мега крутая задача загнать 10млн записей и
>тутже стереть 5млн )))да нет, записи удаляются по одной, а не сразу половина. Я привел пример. Я имел в виду что селект начинает тупить когда id большое число.