|
Помогите с индексированием запроса, пожалуйста
|
|||
---|---|---|---|
#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&fpage=47&tid=1561659]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 311ms |
total: | 450ms |
0 / 0 |