|
|
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
hi all Продолжение дебатов, внезапно вспыхнувших тут :dimitrопиши свое видение джойна со справочником и получении из него чёрт-знает-как-поименованного контрагента через покрывающий индекс.Допустим, надо найти все изделия, содержащие в себе слова "фиг" + "знает" +"что" (в любом порядке следования), проданные контрагентам, в названиях которых сорежится "хрен" + "знает" + "кто". Сразу говорю: это *не* выдуманная задача. Наше ководство не один раз уже вопрошало: "а скока мы резины отпускаем всяким там аффилиантам нашим ?". А эти самые "аффилианты" - их далеко не всегда снабжают соотв. маркером-признаком, так что остается только по названию ловить. Сейчас делается так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А хотелось бы вот так: Код: sql 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. То есть, чтобы для поиска ИДшников внутри СТЕшек использовались соотв. индексы по полям agent_name, part_name. И чтобы я подсказок ему не делал при этом (это из ораклового царства взято: /* +index_ffs(трататата) */) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 17:45:40 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Таблоид, здесь индексное покрытие возможно только если у тебя индекс сразу по id и agent_name. Ты опять путаешь OIT в оракле и индексное покрытие. Там это специальная таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 17:55:59 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Таблоидиспользовались соотв. индексы по полям agent_name, part_name или все-таки по полям {id, agent_name} и {id, part_name}? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 17:57:10 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Таблоид, чего то я не врублюсь, а что оракля способна использовать индекс вот так a.agent_name like '%хрен%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:02:11 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоидиспользовались соотв. индексы по полям agent_name, part_name или все-таки по полям {id, agent_name} и {id, part_name}?тьфу... да, по ним, конечно. Симонов Денисопять путаешь OIT в оракле и индексное покрытие.ты про IOT (Index Organized Table) ? я знаю про них, но не собирался приплетать их сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:02:19 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, индексным фуллсканом - почему бы и нет? Если покрытие работает, конечно же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:05:12 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
dimitr, а ну в принципе да. Просто индекс будет читаться целиком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:06:53 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Таблоидdimitrили все-таки по полям {id, agent_name} и {id, part_name}?тьфу... да, по ним, конечно. т.е. у тебя будет PK по {id} плюс индекс для покрытия по {id, name}? Как-то кривовато... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:07:27 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Симонов Денисчего то я не врублюсь, а что оракля способна использовать индекс вот так a.agent_name like '%хрен%'Дык это я для примера там привёл. Проверять надо, чё он там может и чего нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:09:59 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоидпропущено... тьфу... да, по ним, конечно.т.е. у тебя будет PK по {id} плюс индекс для покрытия по {id, name}? Как-то кривовато...А это ещё измерить надо, насколько кривовато! :-) Если там будет в два раза рост скорости, то пофигу, криво это выглядит или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:11:19 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Таблоид, ну у тебя же Оракл установленный есть. Вот и проверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:16:22 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Симонов Денисdimitr, а ну в принципе да. Просто индекс будет читаться целиком ну там еще кляуза Fast Full Scan. тоесть индекс будет читаться целиком, но в произвольном порядке, как он лежит на диске, а потом отдельно сортировать результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:27:46 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Симонов Денисну у тебя же Оракл установленный есть. Вот и проверь. Код: sql 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. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 18:31:51 |
|
||
|
Сага об индексном покрытии. Ещё одна.
|
|||
|---|---|---|---|
|
#18+
Таблоид, этот пример демонстрирует не совсем то. Он конечно использует индексное покрытие, но собственно данные из индекса тут не нужны, раз ты считаешь count. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2013, 09:38:55 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38505578&tid=1564044]: |
0ms |
get settings: |
5ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 477ms |

| 0 / 0 |
