limit n,m или where id>n limit m ?
Добавлено: 16 дек 2008, 17:11
Имеется большая таблица, записей возможно несколько милионов.
Нужно вытащить m строк, но начинать не с начала а места где остановились прошлый раз (вчера или неважно когда). место остановки это n. Место остановки можно хранить либо как номер строки либо как id. Так как id всегда будут по нарастающей, то можно использовать сравнение (id>n) для определения старта выборки. Либо если хранить номер строки то для определения начала выборки используем лимит с 2-мя параметрами (limit n,m).
Работают оба варианта, но какой быстрее?
Смущает что лимиту придётся вначале перейти на нужную строку, а следовательно и прочитать все предыдущие?
А если использовать сравнение. то sql наверняка понимает что id идут по нарастающей и возможно сравнение будет очень быстрым?
Посоветуйте что нить плз
Нужно вытащить m строк, но начинать не с начала а места где остановились прошлый раз (вчера или неважно когда). место остановки это n. Место остановки можно хранить либо как номер строки либо как id. Так как id всегда будут по нарастающей, то можно использовать сравнение (id>n) для определения старта выборки. Либо если хранить номер строки то для определения начала выборки используем лимит с 2-мя параметрами (limit n,m).
Работают оба варианта, но какой быстрее?
Смущает что лимиту придётся вначале перейти на нужную строку, а следовательно и прочитать все предыдущие?
А если использовать сравнение. то sql наверняка понимает что id идут по нарастающей и возможно сравнение будет очень быстрым?
Посоветуйте что нить плз