mysql смещает истинное поведение - PullRequest
0 голосов
/ 01 мая 2011

Я создаю нумерацию страниц с предложением where.Мне нужно знать истинное поведение смещения.

  1. Рассчитывается ли смещение на основе всех строк, которые соответствуют предложению where?Или
  2. Смещение рассчитывается как идентификатор и учитываются все строки.Например.Если указать смещение 5, строки будут возвращаться, начиная с 6-й строки в таблице, даже если первые 4 строки не соответствуют предложению where?

Редактировать: Я хочу быть уверентак как второе поведение будет совершенно неверным и вызовет проблемы.Спасибо за ваши ответы.Я не могу комментировать, так как мой браузер ужасно терпит неудачу в javascript и ajax.

Ответы [ 2 ]

4 голосов
/ 01 мая 2011

Да, смещение рассчитывается на основе всех строк, которые соответствуют предложению where . Просто попробуйте .

1 голос
/ 01 мая 2011

Вы говорите об использовании предложения LIMIT? LIMIT ограничивает количество успешных совпадений, а не общее количество совпадений. Смещенная часть лимита рассчитывается из совпадений, а не из всех подходящих строк. MySQL не обязательно будет сканировать строки в заданном порядке и может вообще не сканировать некоторые строки, поэтому он не заменит строки, если неудачное сопоставление имело меньший индекс.

...