|
|
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
обычый select from ТаблицаA a join ТаблицаБ б on а.поле1 = б.поле2 - работает замечательно (0,09 сек). Но стоит только добавить в конце order by поле3 asc - начинаются дикие тормоза :(((30,0 сек) В чём дело-то? Вроде индексы все есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 18:54 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
"query plan" в студию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:01 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
order by добавляет операцию сортировки. Если она производится на диске, то естественно все замедляется. Если есть возможность, то надо увеличить sort_area_size. Если нет, то настраивать дисковые сортировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:09 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
в "sqlplus"е SQL> SET AUTOTRACE TRACEONLY SQL> your query сюда выложить то, что выдал SQLPLUS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:14 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
Да, order by сортирует. Но почему select from Таблица1 order by - не тормозит, select join (без сортировки) - не тормозит, а select join order by - 30 сек??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:17 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
>Да, order by сортирует. Но почему select from Таблица1 order by - не >тормозит, select join (без сортировки) - не тормозит, а select join order by - >30 сек??? Наиболее вероятная причина, что вы соединяете таблицы не 1:1, а 1:многим. Поэтому результат содержит больше строк для сортировки, чем одна таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:23 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
> 1:1, 1:многим - а как это выглядит в SQL??? Я просто даже не представляю, как заставить Oracle соединять именно 1:1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:29 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
хм, я не советовал соединять 1:1, а просто объяснил вам причину. Приведите в конце концов запрос и план выполнения, как вам MaxU советовал, тогда сможете рассчитывать на помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:42 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
Ура!!! я сам уже догнал!!! Всё дело в том, что сортировать надо не результат Joinа, а исходную таблицу, которую потом и join-ить со второй!!! Но всё равно спасибо, за сочуствие ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 19:47 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
А план так и не привел.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2002, 01:14 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
кроме того такое решение (сортировка перед join) может привести к некорректным результатам запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2002, 15:19 |
|
||
|
join - тормозит!!!
|
|||
|---|---|---|---|
|
#18+
AndRew "...Всё дело в том, что сортировать надо не результат Joinа, а исходную таблицу, которую потом и join-ить со второй!!! ... " Вообще-то это ошибочный подход к решению проблемы: делать что-то, не понимая первопричины возникшей ситуации... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2002, 17:22 |
|
||
|
|

start [/forum/search_topic.php?author=KtoI&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 690ms |
| total: | 788ms |

| 0 / 0 |
