2013-09-17 2 views
0

У меня есть служба и метод REST, который получает свойства смещение и count.ОТСУТСТВИЕ & выбор смещения MySQL

Пример URL:? Блаблаб смещение = 10 & счетчика = 10

Давайте представим, что я выбор данных для бесконечной прокрутки и мой сайт имеет много пользователей, поэтому, когда я прокручиваю у меня есть новые пункты в базе данных это означает, что когда я выбираю смещение 10 и count 10 у него есть новые 10 предметов, поэтому я выберу те же данные. Есть ли у MySQL некоторые трюки, чтобы предотвратить его, и правильно выбрать?

ответ

1

Поместите свои данные в определенный, воспроизводимый порядок; то есть сортировать его по дате или id или так, в которой порядок стабилен при каждом его сортировке. Затем используйте дату/идентификатор/независимо от последнего элемента в списке как «смещение»:

bla?last=12345&count=10 

    SELECT * 
    FROM foo 
    WHERE id < [last id] 
ORDER BY id DESC 
    LIMIT [count] 

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

Смежные вопросы