|
|
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
Добрый день, правильно ли я понимаю, что если в запросе всего две таблицы tst1 и tst2, то хинт leading будет одинаково, что при указании leading(tst1 tst2), что при указании leading(tst2 tst1)? заранее всех благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 10:06 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
cobalt_frogleading будет одинаковоСлово leading всегда пишется одинаково. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 10:14 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
cobalt_frog, нет, планы должны получаться разные (если без swap_join_inputs) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 11:36 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
cobalt_frog, что значит одинаково? Код: plsql 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. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 11:39 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
Stax, я имел ввиду одинаковые планы показывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 14:12 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
Stax, спасибо за ответ. А можно узнать почему они разные? или ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 14:13 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
нет ни у кого случайно ссылки, гед подробно расписано как формируется план и по каким правилам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 14:14 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
А может у кого-нибудь есть еще ссылочка, где подробно расписано, как программировать? Очень надо, заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 14:26 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
нет ни у кого случайно ссылки, гед подробно расписано как открыть таблицу оракла в экселе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 14:31 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
есть такой запрос: Код: plsql 1. 2. 3. 4. 5. 1. Сначала будут отобраны данные по условиям на лайк и потом произойдет соединение таблиц или наоборот? 2. Зависит ли ответ на первый вопрос от типа условий(=,!=,like и т.д.) по которым отбираются записи? 3. Зависит ли ответ на первый вопрос от типа соединения(nl,merge,hash)? если можно пришлите плз ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 15:26 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
cobalt_frogнет ни у кого случайно ссылки, гед подробно расписано как формируется план и по каким правилам? Достаточно подробно - здесь https://docs.oracle.com/database/121/TGSQL/title.htm Но для начала возможно лучше поискать где-нибудь где на более хайлевельном уровне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 15:35 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
Valergrad, от за это преогромнейшее вам спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 15:49 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
cobalt_frogесть такой запрос: Код: plsql 1. 2. 3. 4. 5. 1. Сначала будут отобраны данные по условиям на лайк и потом произойдет соединение таблиц или наоборот? 2. Зависит ли ответ на первый вопрос от типа условий(=,!=,like и т.д.) по которым отбираются записи? 3. Зависит ли ответ на первый вопрос от типа соединения(nl,merge,hash)? если можно пришлите плз ссылки. Общее правило - оракл старается любой фильтр использовать максимально рано, как это только возможно. Так что они, скорее всего, пройдут до джойна. Чтобы убедиться в этом наверняка, вам нужно сделать explain plan и смотреть поля access predicates/filter predicates. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:06 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
cobalt_frogнет ни у кого случайно ссылки, гед подробно расписано как формируется план и по каким правилам?Джонатан Льюис "Основы стоимостной оптимизации". Есть на английском, есть на русском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:13 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
ValergradТак что они, скорее всего, пройдут до джойна.Это смотря какой джойн. Если hash, то да. Если nested loops или merge join, то все зависит от некоторых факторов, в конечном счете - от выбранного метода доступа к таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:17 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
AmKadValergradТак что они, скорее всего, пройдут до джойна.Это смотря какой джойн. Если hash, то да. Если nested loops или merge join, то все зависит от некоторых факторов, в конечном счете - от выбранного метода доступа к таблице.Интересно про какие факторы речь. Есть две эвристики, которые реализованы во всех ключевых СУБД. Код: plaintext 1. Первая значит применять фильтр как можно раньше. В том числе до соединения, если это логически возможно. Вторая значит отбрасывать ненужные столбцы как можно раньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:28 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
AmKadValergradТак что они, скорее всего, пройдут до джойна.Это смотря какой джойн. Да и от системы немножко зависит - к примеру, storage indexes могут вносить некоторое разнообразие в монотонность бытия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:28 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopЕсть две эвристики, которые реализованы во всех ключевых СУБД. Код: plaintext 1. Первая значит применять фильтр как можно раньше. В том числе до соединения, если это логически возможно. Вторая значит отбрасывать ненужные столбцы как можно раньше. Любите вы все обобщать... И какая из вышеуказанных эвристик сработала? Код: plsql 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. Правило одно, стоимость должна быть минимальной, а фильтры, усечения и прочее лишь способы, на которые не делается акцент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:44 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
AlexFF__|, Согласен, уточнение про стоимость имеет смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:56 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop Код: plaintext dbms_photoshop Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 17:03 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
AlexFF__|Правило одно, стоимость должна быть минимальнойк сожалению, есть случаи когда эвристические трансформации отрабатывает раньше стоимостных, что приводит к невозможности получения более дешевого плана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 17:04 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
AlexFF__|Правило одно, стоимость должна быть минимальной, а фильтры, усечения и прочее лишь способы, на которые не делается акцент.так стоимость от них зависит... AlexFF__|И какая из вышеуказанных эвристик сработала?эвристики работают для любых планов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 17:07 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
xtenderя бы selection поменял на filter, хотя, наверное, это не важно ...несколько сомнительное/неточное правило, т.к. слишком раннее получение всех нужных столбцов 1. Не надо менять на "фильтр" - все-таки есть определенная разница между селекцией (отбором) и фильтрацией (просеиванием отобранного). 2. Тут непонятно. Алекс говорит об отсеивании заведомо ненужных атрибутов, что, в свою очередь, делает возможным финты ушами вроде table elimination, а не о раннем формировании полного набора атрибутов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 18:27 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
Как обычно - профи ушли в дебри которые новичку даже близко и не нужны :) В общем и целом - нужно научиться определять по плану порядок операций , а затем смотрите в плане для каждого предиката на каком степе он был применен. В большинстве случаев если предикат используется как access - это хорошо, как filter он должен использоваться только если нельзя использовать как access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 05:41 |
|
||
|
Hint leading
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous1. Не надо менять на "фильтр" - все-таки есть определенная разница между селекцией (отбором) и фильтрацией (просеиванием отобранного).так о том и речь, что важно как можно раньше не выбрать данные, а отсеять ненужные(a la reduce в MapReduce). Но это вопрос терминологии, потому не так важно... andrey_anonymous2. Тут непонятно. Алекс говорит об отсеивании заведомо ненужных атрибутов, что, в свою очередь, делает возможным финты ушами вроде table elimination, а не о раннем формировании полного набора атрибутов.join elimination - это никак не "Perform projections as early as possible". Выкинутый шаг невозможно "перформить" раньше или позже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 09:18 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39552226&tid=1884928]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
142ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 467ms |

| 0 / 0 |
