Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.06.2017, 12:45
|
|||
|---|---|---|---|
|
|||
Странное поведение limit X offset Y в запросах |
|||
|
#18+
Добрый день. Есть таблица с двумя полями, одно из них ключ. Скрипт создания таблицы и заполнения можно взять здесь Выполняю запрос, который сравнивает две порции таблицы для пагинации: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Логично предположить, что не должно оказаться одинаковых записей в обоих подзапросах? Однако mysql возвращает три таких записи, а Mariadb возвращает одну. авторmysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper авторmysql Ver 15.1 Distrib 10.2.6-MariaDB, for osx10.12 (x86_64) using readline 5.1 Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2017, 13:06
|
|||
|---|---|---|---|
Странное поведение limit X offset Y в запросах |
|||
|
#18+
indapublicЛогично предположить, что не должно оказаться одинаковых записей в обоих подзапросах?Ну вообще-то нет. Потому что ключ сортировки не обеспечивает уникальности. А внутри группы записи имеют право на каждый чих меняться местами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2017, 13:26
|
|||
|---|---|---|---|
|
|||
Странное поведение limit X offset Y в запросах |
|||
|
#18+
Akina, допустим. Тогда два вопроса: 1. Если я создам таблицу create table as select * from aaa, то с ней такого нет 2. Если записи меняются местами, то как тогда реализуется пагинация? (Данный код генерируется Symfony, кстати говоря) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2017, 13:56
|
|||
|---|---|---|---|
Странное поведение limit X offset Y в запросах |
|||
|
#18+
indapublicкак тогда реализуется пагинация?Пагинация организуется по ключу сортировки, который обеспечивает уникальность. Запрос должен быть, например, таким: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. indapublicЕсли я создам таблицу create table as select * from aaa, то с ней такого нетВы же сами устроили себе лотерею. Надо ли удивляться, что в лотерее иногда выигрывают, а иногда нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2017, 14:07
|
|||
|---|---|---|---|
|
|||
Странное поведение limit X offset Y в запросах |
|||
|
#18+
Akina, повторюсь, что этот код формируется Symfony ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2017, 14:33
|
|||
|---|---|---|---|
Странное поведение limit X offset Y в запросах |
|||
|
#18+
indapublicэтот код формируется SymfonyВот этот самый запрос с двумя подзапросами? не? тогда о чём речь... Наиболее вероятно, что при пагинации таким манером просто используются кэшированные данные запроса - а там записи выходного набора уже расположены в некоем порядке. Вы же составили запрос, в котором каждый подзапрос будет выполнен независимо, да к тому же подзапросы не кэшатся - надо ли удивляться, что в них различается порядок следования записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2017, 14:42
|
|||
|---|---|---|---|
|
|||
Странное поведение limit X offset Y в запросах |
|||
|
#18+
Akina, На каждую страницу формируется то, что в подзапросах. И записи дублируются. Нет, не на кэше. Ваше мнение понял, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1830593]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 140ms |

| 0 / 0 |
