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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.11.2008, 09:54
|
|||
|---|---|---|---|
Время выполнения запроса |
|||
|
#18+
SELECT * FROM t1 LEFT JOIN t2 on t1.id = t2.t1_id LEFT JOIN t3 on t1.id = t3.t1_id LEFT JOIN t4 on t1.id = t4.t1_id LIMIT 20 OFFSET start start - значение offset Подскажите пожалуйста как постгрес работает с такими запросами, сначала делает выборку а потом применяет лимит? И как по времени различаются такой запрос с лимитом и без него? И если менять start = 0, start = 50 000 И насколько это будет тяжёлый запрос при кол-вы записей в каждой таблице ~ 100 000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2008, 11:06
|
|||
|---|---|---|---|
|
|||
Время выполнения запроса |
|||
|
#18+
laserсначала делает выборку а потом применяет лимит? И если менять start = 0, start = 50 000последний этап выполнения запроса Limit получает от нижестоящего только offset+limit строк. смотрите explain analyze. laserИ как по времени различаются такой запрос с лимитом и без него?запрос с limit часто более быстрый, особенно если выполняется без сортировки. смотрите explain analyze. laserИ насколько это будет тяжёлый запрос при кол-вы записей в каждой таблице ~ 100 000смотрите explain analyze. PS: limit, offset имеют смысл только с order by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2008, 11:11
|
|||
|---|---|---|---|
Время выполнения запроса |
|||
|
#18+
LeXa NalBatPS: limit, offset имеют смысл только с order by Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2008, 11:13
|
|||
|---|---|---|---|
Время выполнения запроса |
|||
|
#18+
А что предпочтительней SELECT * FROM t1 LEFT JOIN t2 on t1.id = t2.t1_id LEFT JOIN t3 on t1.id = t3.t1_id LEFT JOIN t4 on t1.id = t4.t1_id или SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.t1_id AND t1.id = t3.t1_id AND t1.id = t4.t1_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2008, 11:13
|
|||
|---|---|---|---|
|
|||
Время выполнения запроса |
|||
|
#18+
laserLeXa NalBatPS: limit, offset имеют смысл только с order byПочему?потому что строки в РБД не упорядочены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2008, 11:16
|
|||
|---|---|---|---|
|
|||
Время выполнения запроса |
|||
|
#18+
laserА что предпочтительней SELECT * FROM t1 LEFT JOIN t2 on t1.id = t2.t1_id LEFT JOIN t3 on t1.id = t3.t1_id LEFT JOIN t4 on t1.id = t4.t1_id или SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.t1_id AND t1.id = t3.t1_id AND t1.id = t4.t1_idэти запросы могут вернуть разный результат. если заменить LEFT на INNER, то такие запросы эквивалентны. скорее всего постгрес поймет что это одинаковые запросы и выберет для них одинаковый план выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2003841]: |
0ms |
get settings: |
11ms |
get forum list: |
26ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 410ms |

| 0 / 0 |
