|
|
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Привет. Сервер Yaffil 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. В t1 могут быть строки, для кот нет соответствия в t2(поэтому я восп left outer join)/ Как сделать так, чтоб выбирались все записи из т1, независимо от того есть ли им соответствие в т2 и использовался индекс Зарание спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 11:30:50 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
имхо, вот это Код: plaintext 1. 2. 3. 4. индекс неправильный. кажется, надо сделать еще индекс по t2.a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 11:35:23 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
если не помогло создание индекса т2.а, выложите планы запросов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 12:28:45 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Я извиняюсь - вот верный скрипт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:31:50 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Ой кажиццо я засветился, но ничиго Вот планы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:35:26 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
а планы-то... легче будет сообразить. планы умеешь доставать из ИБЭксперта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:37:39 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
а, вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:38:05 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
гадаю (знаниев не хватаит) попробуй Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:39:49 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
слушай, не знаю почему натурал в первом запросе. могу предположить, что мало записей, и оптимизатор решает ну его этот индекс, быстрее натурал получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:46:11 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Не - не то Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:46:17 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Тогда почему во втором идет по индексу? зы В боевой базе записей много - 100 000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:48:32 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
ДецлНе - не то Код: plaintext 1. да уж вижу что фигня.. по идее должно быть так: сервер должен идит по индексу т1.а по порядку, находить запись в таблице, и по т1.б искать запись в т2, используя индекс т2.а. индекс т1.а ему при этом не нужон. почему он не использует индекс т1.а - не понимаю! попробуй подсунуть ему план в явном виде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:50:10 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
авторпопробуй подсунуть ему план в явном виде... А как этаа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:57:03 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
я сам этого никогда не делал... я ваще ламер. у меня как-то само все работает.. по моему надо написать план прямо в запрос, толи спереди, толи сзади. план скопируй из второго запроса с иннер джоином... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 16:21:52 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 16:53:12 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Ты определись-то, чё те надобно, старче. С какого перепугу сервер должен пользовать индекс ORDER T1_IDX_A по таблице T1, если никаких ограничений на T1 ты не накладываешь?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 17:01:44 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
ЗлобастыйТы определись-то, чё те надобно, старче. С какого перепугу сервер должен пользовать индекс ORDER T1_IDX_A по таблице T1, если никаких ограничений на T1 ты не накладываешь?! а для сортировки?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 17:13:00 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
Сортируется результат джойна. Так что всё тут правильно (с точки зрения оптимизатора). Если сильно нужно (и позволяют условия), то можно переписать на неявный джойн, через подзапрос. Тогда индекс для сортировку будет использоваться. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 17:47:58 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
ЗлобастыйСортируется результат джойна. Так что всё тут правильно (с точки зрения оптимизатора). Если сильно нужно (и позволяют условия), то можно переписать на неявный джойн, через подзапрос. Тогда индекс для сортировку будет использоваться. Код: plaintext 1. 2. 3. мне кажется, что в аналогичной ситуации mysql использовал бы индекс... там и подзапросов раньше не было, а с лефт джойном ведь постоянно приходится работать. а тут такая засада - при лефт джойне и ордере - не используются индексыыыы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 17:53:19 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
авторв аналогичной ситуации mysql... Не поминай этот ментальный мастурбатор в приличном обществе. В отношении индекса в ORDER BY. Дмитрий как-то говорил, что существуют ситуации, когда сервер не всегда показывает индекс в плане, несмотря на то что использует его. Тонкости этого вопроса лучше спросить у него самого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 18:08:28 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
цитатник: /topic/75094&hl=%e8%ed%e4%e5%ea%f1+%ef%eb%e0%ed#539058 тот же топик: /topic/75094&hl=%e8%ed%e4%e5%ea%f1+%ef%eb%e0%ed#539524 ну пачиму???? в лефт джоин не используются индексы??? (план не показывает индексы в других случаях, а не при лефт джоин. в любом случае, "натурал" оно не пишет, если использует индекс) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 18:19:02 |
|
||
|
Про индекс и Left Outer Join
|
|||
|---|---|---|---|
|
#18+
пАтАму-шо! Не научили оптимизатор рассматривать этот конкретный частный случай . В общем же случае, при LEFT JOIN, талица "находящаяся справа" берётся вся, целиком (если не наложены никакие дополнительные ограничения). Потому и используется NATURAL, который в данном случае именно "...то, что доХтор прописал" (С). Да, для рассматриваемого частного случая, можно было бы взять индекс. Но не факт, что сортировка в данном случае будет менее эффективной, чем полное сканирование индекса. А вообще, запрос абстрактный. На практике делать полный джойн 2-х таблиц, не накладывая дополнительных ограничений , могут только чайники, при решении игрушечных задач (в основном). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 18:59:00 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32567493&tid=1578411]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
437ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 717ms |

| 0 / 0 |
