Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Подскажите, пожалуйста: в таком виде отрабатывает 30-40 секунд: Код: sql 1. 2. 3. 4. 5. 6. План PLAN SORT (JOIN (PT NATURAL, C INDEX (TCATALOG_IDX_IDTYPE))) а в таком - мгновенно (в скобках - все возможные значения): Код: sql 1. 2. 3. 4. 5. 6. 7. План PLAN JOIN (C ORDER TCATALOG_IDX1 INDEX (TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE, TCATALOG_IDX_IDTYPE), PT INDEX (PK_SPPUBLTYPES)) индексы вот такие: (idx1 это уже экспериментировал потом) Код: sql 1. 2. 3. Почему так работает? Почему не используется PT INDEX (PK_SPPUBLTYPES) в первом запросе? Можно ли заставить работать быстро первый запрос? Спасибо, коллеги! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 09:23 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
order by c.IDTYPE+0, c.NAME ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 10:14 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Devillio Думаешь что с планом PLAN SORT (JOIN (С NATURAL, PT INDEX (PK_SPPUBLTYPES))) будет быстрее работать??? зы. а во втором случае выбрал все результирующие записи, или только первую порцию??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 11:56 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, неа, те же результаты: Время подготовки запроса = 172ms Время выполнения запроса = 40s 375ms Среднее время на получение одной записи = 1 755,43 ms m7m, это в обоих случаях - первая порция Дальнейший фетч идет примерно одинаково (там 98 тыс записей, около 10 сек и в том и в том случае) Время подготовки запроса = 250ms Время выполнения запроса = 344ms Среднее время на получение одной записи = 14,96 ms (это второй вариант) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 12:47 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Devillio...это в обоих случаях - первая порция... Ну так в первом случае в плане SORT а во втором ORDER что вполне объясняет полученное время работы при выдачи первой порции результата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 12:54 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
m7m, мне непонятно, почему когда я прошу выдать просто все записи - все тупит, а когда прошу "выдать все, а именно, эту, ту, и ту" - выдает тот же объем информации, но быстрее в 80 раз. А называется это sort, order, natural - какая разница? Как правильно быстро получить такой простой join? Не создавать же перед запросом перечисление всех id для in, по-моему, это неправильно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 14:37 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Devillioмне непонятно http://www.ibase.ru/dataaccesspaths/ Читать до просветления. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 14:44 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Devillio, сначала сортируй, потом соединяй Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 14:44 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Devilliom7m, мне непонятно, почему когда я прошу выдать просто все записи - все тупит, а когда прошу "выдать все, а именно, эту, ту, и ту" - выдает тот же объем информации, но быстрее в 80 раз. А называется это sort, order, natural - какая разница? Как правильно быстро получить такой простой join? Не создавать же перед запросом перечисление всех id для in, по-моему, это неправильно ) выбери все записи первым запросом и выбери все записи вторым запросом и почувствуй отсутствие "быстрее в 80 раз" ну и конечно для понимания читать то что посоветовали здесь 20337187 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 14:52 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, благодарю за предоставленное решение! Да, так работает быстро. И всем спасибо за участие и советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 14:55 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
m7m, у него причина в слишком широкой выборке, а не только в выборе первых записей vs всех записей. Как альтернатива увеличить TempCacheLimit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 15:01 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
DevillioСимонов Денис, благодарю за предоставленное решение! Да, так работает быстро. И всем спасибо за участие и советы. Ну вот обясните мне непонимающему, откуда это запрос "работает быстро" Разве что при выборке "первой порции" ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 15:04 |
|
||
|
Помогите с индексированием запроса, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Симонов Денисm7m, у него причина в слишком широкой выборке, а не только в выборе первых записей vs всех записей. Как альтернатива увеличить TempCacheLimit Ну ты смотришь внимательней чем я ибо я увидел только " c.ID, c.NAME, pt.FULLNAME as VPNAME" а вот запятую и точки опосля как-то прозевал зы. предыдущий мой вопрос снимается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2017, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=39427796&tid=1561659]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 171ms |

| 0 / 0 |
