|
|
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Мне нужно соединить в запросе две таблицы, одна из которых довольно большая (под 100М записей). Проблема в том, что прямой связи по ключу между этими таблицами нет. Нужно соединять либо через строчное поле (что нежелательно, т.к. значение этого поля во второй таблице может изменяться), либо соединять через третью таблицу, которая имеет под 300М записей и в которой будут дубли. DDL таблиц такой (в листинг не включал констрейны и индексы по неиспользуемым полям). Первая таблица: Код: 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. Вторая таблица: Код: 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. Вообще эти две таблицы можно соединить через RADACCT.USERNAME=SERVICES.LOGIN, но значение SERVICES.LOGIN непостоянно и может изменяться. Также их можно соединить через третью таблицу: Код: 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. Делаю такой запрос: Код: plsql 1. 2. 3. 4. 5. 6. Запрос выполняется быстро (30мс), план выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Такой запрос предотвращает дубли и выполняется относительно быстро (1-2 секунды): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. В результате около 10к строк, план выглядит все еще прилично: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. План такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Что я не заметил? ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 15:49 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
И второй вопрос. В первой таблице поле ACCTSTARTTIME проиндексировано, а поле ACCTSTOPTIME нет. Но мне хотелось бы найти записи, в которых в искомый диапазон попадало бы не поле ACCTSTARTTIME, а диапазон ACCTSTOPTIME. То есть если искомый диапазон 2016-06-02...2016-06-03, а в таблице есть запись с ACCTSTARTTIME=2016-06-01 и ACCTSTOPTIME=2016-06-06, то она в выборку не попадет, а мне бы хотелось, чтобы она попала. Если я напишу так: Код: plsql 1. 2. как это условие сработает? Набор строк отфильтруется по индексированному ACCTSTARTTIME и к результату применится вторая проверка? Или я получу full scan? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 15:57 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Alibek B.Если я напишу так: Напутал. Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 16:01 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Если без добавления индекса на ACCTSTOPTIME никак не обойтись, то посоветуйте, как его добавить, чтобы не помешать работе сервера и приложений? Или просто добавить, а сервер сам разберется? И можно ли индекс добавить таким образом, чтобы значение TIMESTAMP'1970-01-01 03:00:00' интерпретировалось как специальное, которое больше любого другого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 16:16 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Сделал так: Код: 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. Выполняю запрос: Код: plsql 1. 2. 3. Получаю одну строку, с RADACCTID=2. А почему не выводится RADACCTID=1? Или function-based-index это что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 16:38 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Alibek B., У тебя более 500 сообщений в ветке оракл, Но ты так и не понял , что для того чтобы тебе обьяснили почему что то тормозит, нужно выкладывать больше информации, чем голый explain ? Там же даже нет таймингов . Выкладывай план с рантайм статистиками или ткпроф, тогда можно будет предметно что то ответить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 16:42 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Понял, сделаю. А по плану каких-то очевидных проблем нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 17:12 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Наконец удалось сделать трассировку. Кстати, теперь последний запрос с группировкой выполняется 3-5 секунд, что приемлемо. Но результаты трассировки прилагаю. Код: 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. 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. Тайминги по каждой строчке плана я теперь увидел, но остальные моменты непонятны. На что нужно обращать внимание, если запрос начнет тормозить? На cpu и disk? И еще непонятно, почему в elapsed указано 13 секунд, запрос выполняется быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2016, 20:40 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Alibek B., Меня только что выебли на работе, а ты про какие-то индексы тут говоришь!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2016, 21:38 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
softwarer_Alibek B., Меня только что выебли на работе, а ты про какие-то индексы тут говоришь!!выебли то за индексы небось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2016, 22:24 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Помогите разобраться. Есть такой запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Выполняется вообщем быстро. Стоит мне заменить select * на select C.CUSTOMER_ID, как запрос выполняется очень долго. Сделать трассировку до конца не получилось - запрос выполнялся долго, я его прервал. Код: 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. 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. explain plan отличаются сильно: select * Код: 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. 28. 29. 30. 31. 32. select C.CUSTOMER_ID Код: 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. На мой взгляд, второй запрос должен быть быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2016, 23:11 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. Здесь я ограничиваю список сессий периодом с 2016-10-01 по 2016-10-10. Если я указываю период с 2016-10-03 по 2016-10-10, то запрос (select C.CUSTOMER_ID) выполняется быстро (150мс), возвращается около 9к строк. Если я указываю период на день раньше (с 2016-10-02 по 2016-10-10), то этот же запрос выполняется очень долго. Если я указываю период с 2016-10-03 по 2016-10-15, то запрос снова выполняется быстро. То есть запрос начинает тормозить, если я пытаюсь выбрать данные до 2016-10-03. Таблица RADACCT не партиционирована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2016, 23:23 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Alibek B. Код: plsql 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. зы. простой и не очень надежный вариант: дропни гистограммы по этому полю, выстави high_value у него в 2020-01-01 и зафиксируй статистику :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2016, 00:49 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
xtenderПокажи результат OWNERTABLE_NAMECOLUMN_NAMEDATA_TYPEEP_VALUEENDPOINT_VALUEDELTA_VALUESENDPOINT_NUMBERDELTA_NUMBERSENDPOINT_ACTUAL_VALUEBILLINGRADACCTACCTSTARTTIMEDATE2010-03-272455282,52531252455282,525312500BILLINGRADACCTACCTSTARTTIMEDATE2011-03-042455625,03247685342,5071643511BILLINGRADACCTACCTSTARTTIMEDATE2011-05-222455704,4774305679,4449537121BILLINGRADACCTACCTSTARTTIMEDATE2011-07-262455768,8397916764,3623611131BILLINGRADACCTACCTSTARTTIMEDATE2011-09-182455823,4604166754,62062541BILLINGRADACCTACCTSTARTTIMEDATE2011-11-062455872,3512268548,8908101851BILLINGRADACCTACCTSTARTTIMEDATE2011-12-142455909,7198958337,3686689861BILLINGRADACCTACCTSTARTTIMEDATE2012-01-202455946,8029166737,0830208471BILLINGRADACCTACCTSTARTTIMEDATE2012-02-212455978,8554050932,0524884281BILLINGRADACCTACCTSTARTTIMEDATE2012-03-212456007,5419560228,6865509391BILLINGRADACCTACCTSTARTTIMEDATE2012-04-142456031,8849768524,34302083101BILLINGRADACCTACCTSTARTTIMEDATE2012-05-122456060,0000810228,11510417111BILLINGRADACCTACCTSTARTTIMEDATE2012-06-102456088,843796328,84371528121BILLINGRADACCTACCTSTARTTIMEDATE2012-07-062456115,0058564826,16206018131BILLINGRADACCTACCTSTARTTIMEDATE2012-08-012456140,9687615725,96290509141BILLINGRADACCTACCTSTARTTIMEDATE2012-08-262456165,7832523124,81449074151BILLINGRADACCTACCTSTARTTIMEDATE2012-09-202456191,0000810225,21682871161BILLINGRADACCTACCTSTARTTIMEDATE2012-10-132456213,9338657422,93378472171BILLINGRADACCTACCTSTARTTIMEDATE2012-10-302456230,5295486116,59568287181BILLINGRADACCTACCTSTARTTIMEDATE2012-11-172456248,7413078718,21175926191BILLINGRADACCTACCTSTARTTIMEDATE2012-12-012456262,8524189814,11111111201BILLINGRADACCTACCTSTARTTIMEDATE2012-12-162456278,1043171315,25189815211BILLINGRADACCTACCTSTARTTIMEDATE2013-01-012456294,3334259316,2291088221BILLINGRADACCTACCTSTARTTIMEDATE2013-01-222456314,801562520,46813657231BILLINGRADACCTACCTSTARTTIMEDATE2013-02-202456343,599062528,7975241BILLINGRADACCTACCTSTARTTIMEDATE2013-03-042456356,2352199112,63615741251BILLINGRADACCTACCTSTARTTIMEDATE2013-03-172456368,7636458312,52842592261BILLINGRADACCTACCTSTARTTIMEDATE2013-03-292456380,9609143512,19726852271BILLINGRADACCTACCTSTARTTIMEDATE2013-04-092456392,4132870411,45237269281BILLINGRADACCTACCTSTARTTIMEDATE2013-04-202456403,4364351911,02314815291BILLINGRADACCTACCTSTARTTIMEDATE2013-05-022456414,7455555611,30912037301BILLINGRADACCTACCTSTARTTIMEDATE2013-05-112456424,359560199,61400463311BILLINGRADACCTACCTSTARTTIMEDATE2013-05-212456434,187939829,82837963321BILLINGRADACCTACCTSTARTTIMEDATE2013-05-312456444,3544791710,16653935331BILLINGRADACCTACCTSTARTTIMEDATE2013-06-102456454,265150469,91067129341BILLINGRADACCTACCTSTARTTIMEDATE2013-06-202456463,823368069,5582176351BILLINGRADACCTACCTSTARTTIMEDATE2013-06-292456473,16339129,34002314361BILLINGRADACCTACCTSTARTTIMEDATE2013-07-082456482,118831028,95543982371BILLINGRADACCTACCTSTARTTIMEDATE2013-07-172456490,848784728,7299537381BILLINGRADACCTACCTSTARTTIMEDATE2013-07-252456499,227222228,3784375391BILLINGRADACCTACCTSTARTTIMEDATE2013-08-032456508,342557879,11533565401BILLINGRADACCTACCTSTARTTIMEDATE2013-08-132456518,379733810,03717593411BILLINGRADACCTACCTSTARTTIMEDATE2013-08-222456527,166967598,78723379421BILLINGRADACCTACCTSTARTTIMEDATE2013-08-302456535,267789358,10082176431BILLINGRADACCTACCTSTARTTIMEDATE2013-09-082456544,152372698,88458334441BILLINGRADACCTACCTSTARTTIMEDATE2013-09-152456551,228414357,07604166451BILLINGRADACCTACCTSTARTTIMEDATE2013-09-232456559,168472227,94005787461BILLINGRADACCTACCTSTARTTIMEDATE2013-10-012456566,867013897,69854167471BILLINGRADACCTACCTSTARTTIMEDATE2013-10-092456575,058055568,19104167481BILLINGRADACCTACCTSTARTTIMEDATE2013-10-172456582,681724547,62366898491BILLINGRADACCTACCTSTARTTIMEDATE2013-10-242456590,204664357,52293981501BILLINGRADACCTACCTSTARTTIMEDATE2013-11-012456598,36723388,16256945511BILLINGRADACCTACCTSTARTTIMEDATE2013-11-102456606,641087968,27385416521BILLINGRADACCTACCTSTARTTIMEDATE2013-11-172456614,175613437,53452547531BILLINGRADACCTACCTSTARTTIMEDATE2013-11-242456621,098576396,92296296541BILLINGRADACCTACCTSTARTTIMEDATE2013-12-012456628,185694447,08711805551BILLINGRADACCTACCTSTARTTIMEDATE2013-12-092456636,080335657,89464121561BILLINGRADACCTACCTSTARTTIMEDATE2013-12-152456642,261192136,18085648571BILLINGRADACCTACCTSTARTTIMEDATE2013-12-222456648,947314816,68612268581BILLINGRADACCTACCTSTARTTIMEDATE2013-12-282456655,203981486,25666667591BILLINGRADACCTACCTSTARTTIMEDATE2014-01-042456661,998645836,79466435601BILLINGRADACCTACCTSTARTTIMEDATE2014-01-112456668,633055566,63440973611BILLINGRADACCTACCTSTARTTIMEDATE2014-01-182456675,825497697,19244213621BILLINGRADACCTACCTSTARTTIMEDATE2014-01-252456683,057152787,23165509631BILLINGRADACCTACCTSTARTTIMEDATE2014-02-022456691,374548618,31739583641BILLINGRADACCTACCTSTARTTIMEDATE2014-02-092456698,260844916,8862963651BILLINGRADACCTACCTSTARTTIMEDATE2014-02-172456706,103252327,84240741661BILLINGRADACCTACCTSTARTTIMEDATE2014-02-242456712,837337966,73408564671BILLINGRADACCTACCTSTARTTIMEDATE2014-03-032456719,629155096,79181713681BILLINGRADACCTACCTSTARTTIMEDATE2014-03-102456727,354629637,72547454691BILLINGRADACCTACCTSTARTTIMEDATE2014-03-182456735,44973388,09510417701BILLINGRADACCTACCTSTARTTIMEDATE2014-03-262456743,009988437,56025463711BILLINGRADACCTACCTSTARTTIMEDATE2014-04-032456751,073611118,06362268721BILLINGRADACCTACCTSTARTTIMEDATE2014-04-112456759,172337968,09872685731BILLINGRADACCTACCTSTARTTIMEDATE2014-04-192456766,515740747,34340278741BILLINGRADACCTACCTSTARTTIMEDATE2014-04-262456774,316666677,80092593751BILLINGRADACCTACCTSTARTTIMEDATE2014-05-052456783,310185198,99351852761BILLINGRADACCTACCTSTARTTIMEDATE2014-05-132456791,291979177,98179398771BILLINGRADACCTACCTSTARTTIMEDATE2014-05-202456798,427430567,13545139781BILLINGRADACCTACCTSTARTTIMEDATE2014-05-282456806,262476857,83504629791BILLINGRADACCTACCTSTARTTIMEDATE2014-06-072456816,181111119,91863426801BILLINGRADACCTACCTSTARTTIMEDATE2014-06-152456824,291944448,11083333811BILLINGRADACCTACCTSTARTTIMEDATE2014-06-242456832,777534728,48559028821BILLINGRADACCTACCTSTARTTIMEDATE2014-07-032456842,159675939,38214121831BILLINGRADACCTACCTSTARTTIMEDATE2014-07-122456851,16004639,00037037841BILLINGRADACCTACCTSTARTTIMEDATE2014-07-132456852,427395831,26734953851BILLINGRADACCTACCTSTARTTIMEDATE2014-07-142456853,051898150,62450232861BILLINGRADACCTACCTSTARTTIMEDATE2014-07-152456854,227094911,17519676871BILLINGRADACCTACCTSTARTTIMEDATE2014-07-222456861,39093757,16384259881BILLINGRADACCTACCTSTARTTIMEDATE2014-07-302456869,176273157,78533565891BILLINGRADACCTACCTSTARTTIMEDATE2014-08-082456878,026388898,85011574901BILLINGRADACCTACCTSTARTTIMEDATE2014-08-162456886,198101858,17171296911BILLINGRADACCTACCTSTARTTIMEDATE2014-08-232456893,296257,09814815921BILLINGRADACCTACCTSTARTTIMEDATE2014-08-312456900,683333337,38708333931BILLINGRADACCTACCTSTARTTIMEDATE2014-09-082456909,289629638,6062963941BILLINGRADACCTACCTSTARTTIMEDATE2014-09-162456917,32589128,03626157951BILLINGRADACCTACCTSTARTTIMEDATE2014-09-232456924,222835656,89694445961BILLINGRADACCTACCTSTARTTIMEDATE2014-09-302456931,273530097,05069444971BILLINGRADACCTACCTSTARTTIMEDATE2014-10-082456939,20870377,93517361981BILLINGRADACCTACCTSTARTTIMEDATE2014-10-152456946,259224547,05052084991BILLINGRADACCTACCTSTARTTIMEDATE2014-10-222456953,164155096,904930551001BILLINGRADACCTACCTSTARTTIMEDATE2014-10-292456960,123321766,959166671011BILLINGRADACCTACCTSTARTTIMEDATE2014-11-062456968,359282418,235960651021BILLINGRADACCTACCTSTARTTIMEDATE2014-11-132456975,124224546,764942131031BILLINGRADACCTACCTSTARTTIMEDATE2014-11-192456981,054224545,931041BILLINGRADACCTACCTSTARTTIMEDATE2014-11-242456986,294050935,239826391051BILLINGRADACCTACCTSTARTTIMEDATE2014-11-302456992,162800935,868751061BILLINGRADACCTACCTSTARTTIMEDATE2014-12-082456999,725520837,56271991071BILLINGRADACCTACCTSTARTTIMEDATE2014-12-142457005,679537045,954016211081BILLINGRADACCTACCTSTARTTIMEDATE2014-12-202457012,312488436,632951391091BILLINGRADACCTACCTSTARTTIMEDATE2014-12-262457017,62307875,310590271101BILLINGRADACCTACCTSTARTTIMEDATE2015-01-012457023,66254636,03946761111BILLINGRADACCTACCTSTARTTIMEDATE2015-01-082457031,290613437,628067131121BILLINGRADACCTACCTSTARTTIMEDATE2015-01-152457038,121018526,830405091131BILLINGRADACCTACCTSTARTTIMEDATE2015-01-212457044,222361116,101342591141BILLINGRADACCTACCTSTARTTIMEDATE2015-01-282457051,188402786,966041671151BILLINGRADACCTACCTSTARTTIMEDATE2015-02-042457058,132418986,94401621161BILLINGRADACCTACCTSTARTTIMEDATE2015-02-112457064,954814826,822395841171BILLINGRADACCTACCTSTARTTIMEDATE2015-02-172457070,629282415,674467591181BILLINGRADACCTACCTSTARTTIMEDATE2015-02-222457076,330740745,701458331191BILLINGRADACCTACCTSTARTTIMEDATE2015-02-282457082,042025465,711284721201BILLINGRADACCTACCTSTARTTIMEDATE2015-03-062457088,106481486,064456021211BILLINGRADACCTACCTSTARTTIMEDATE2015-03-112457093,189027785,08254631221BILLINGRADACCTACCTSTARTTIMEDATE2015-03-152457097,204432874,015405091231BILLINGRADACCTACCTSTARTTIMEDATE2015-03-192457101,20714124,002708331241BILLINGRADACCTACCTSTARTTIMEDATE2015-03-242457106,11504634,90790511251BILLINGRADACCTACCTSTARTTIMEDATE2015-03-292457110,57942134,4643751261BILLINGRADACCTACCTSTARTTIMEDATE2015-04-032457116,024988435,445567131271BILLINGRADACCTACCTSTARTTIMEDATE2015-04-072457120,234745374,209756941281BILLINGRADACCTACCTSTARTTIMEDATE2015-04-112457124,240381944,005636571291BILLINGRADACCTACCTSTARTTIMEDATE2015-04-162457128,672037044,43165511301BILLINGRADACCTACCTSTARTTIMEDATE2015-04-192457132,480798613,808761571311BILLINGRADACCTACCTSTARTTIMEDATE2015-04-242457136,978379634,497581021321BILLINGRADACCTACCTSTARTTIMEDATE2015-04-282457141,096041674,117662041331BILLINGRADACCTACCTSTARTTIMEDATE2015-05-022457145,230347224,134305551341BILLINGRADACCTACCTSTARTTIMEDATE2015-05-072457149,543402784,313055561351BILLINGRADACCTACCTSTARTTIMEDATE2015-05-112457154,080763894,537361111361BILLINGRADACCTACCTSTARTTIMEDATE2015-05-152457158,210196764,129432871371BILLINGRADACCTACCTSTARTTIMEDATE2015-05-182457161,486122693,275925931381BILLINGRADACCTACCTSTARTTIMEDATE2015-05-222457165,104571763,618449071391BILLINGRADACCTACCTSTARTTIMEDATE2015-05-252457168,423460653,318888891401BILLINGRADACCTACCTSTARTTIMEDATE2015-05-292457172,037696763,614236111411BILLINGRADACCTACCTSTARTTIMEDATE2015-06-022457176,121400464,08370371421BILLINGRADACCTACCTSTARTTIMEDATE2015-06-062457180,090335653,968935191431BILLINGRADACCTACCTSTARTTIMEDATE2015-06-102457183,530532413,440196761441BILLINGRADACCTACCTSTARTTIMEDATE2015-06-132457187,232974543,702442131451BILLINGRADACCTACCTSTARTTIMEDATE2015-06-222457196,139745378,906770831461BILLINGRADACCTACCTSTARTTIMEDATE2015-06-262457200,029178243,889432871471BILLINGRADACCTACCTSTARTTIMEDATE2015-06-302457203,762083333,732905091481BILLINGRADACCTACCTSTARTTIMEDATE2015-07-042457208,195150464,433067131491BILLINGRADACCTACCTSTARTTIMEDATE2015-07-082457211,5581253,362974541501BILLINGRADACCTACCTSTARTTIMEDATE2015-07-112457214,836377313,278252311511BILLINGRADACCTACCTSTARTTIMEDATE2015-07-132457216,962256942,125879631521BILLINGRADACCTACCTSTARTTIMEDATE2015-07-162457219,78379632,821539361531BILLINGRADACCTACCTSTARTTIMEDATE2015-07-192457222,898194443,114398141541BILLINGRADACCTACCTSTARTTIMEDATE2015-07-222457226,303055563,404861121551BILLINGRADACCTACCTSTARTTIMEDATE2015-07-262457229,863634263,56057871561BILLINGRADACCTACCTSTARTTIMEDATE2015-07-302457233,750138893,886504631571BILLINGRADACCTACCTSTARTTIMEDATE2015-08-042457238,644664354,894525461581BILLINGRADACCTACCTSTARTTIMEDATE2015-08-082457243,11057874,465914351591BILLINGRADACCTACCTSTARTTIMEDATE2015-08-122457247,05129633,94071761601BILLINGRADACCTACCTSTARTTIMEDATE2015-08-162457250,936319443,885023141611BILLINGRADACCTACCTSTARTTIMEDATE2015-08-192457254,386805563,450486121621BILLINGRADACCTACCTSTARTTIMEDATE2015-08-232457258,138819443,752013881631BILLINGRADACCTACCTSTARTTIMEDATE2015-08-272457261,632685193,493865751641BILLINGRADACCTACCTSTARTTIMEDATE2015-08-302457265,241458333,608773141651BILLINGRADACCTACCTSTARTTIMEDATE2015-09-042457269,889942134,64848381661BILLINGRADACCTACCTSTARTTIMEDATE2015-09-072457273,246539353,356597221671BILLINGRADACCTACCTSTARTTIMEDATE2015-09-112457277,033645833,787106481681BILLINGRADACCTACCTSTARTTIMEDATE2015-09-162457282,161377315,127731481691BILLINGRADACCTACCTSTARTTIMEDATE2015-09-222457287,689039355,527662041701BILLINGRADACCTACCTSTARTTIMEDATE2015-09-252457291,07067133,381631951711BILLINGRADACCTACCTSTARTTIMEDATE2015-09-282457294,387476853,316805551721BILLINGRADACCTACCTSTARTTIMEDATE2015-10-032457298,640798614,253321761731BILLINGRADACCTACCTSTARTTIMEDATE2015-10-072457302,827731484,186932871741BILLINGRADACCTACCTSTARTTIMEDATE2015-10-102457306,348240743,520509261751BILLINGRADACCTACCTSTARTTIMEDATE2015-10-142457310,25339123,905150461761BILLINGRADACCTACCTSTARTTIMEDATE2015-10-182457314,226689813,973298611771BILLINGRADACCTACCTSTARTTIMEDATE2015-10-222457318,000104173,773414361781BILLINGRADACCTACCTSTARTTIMEDATE2015-10-252457321,12656253,126458331791BILLINGRADACCTACCTSTARTTIMEDATE2015-10-292457324,604907413,478344911801BILLINGRADACCTACCTSTARTTIMEDATE2015-11-012457327,989363433,384456021811BILLINGRADACCTACCTSTARTTIMEDATE2015-11-052457332,079849544,090486111821BILLINGRADACCTACCTSTARTTIMEDATE2015-11-082457335,44093753,361087961831BILLINGRADACCTACCTSTARTTIMEDATE2015-11-122457339,086631943,645694441841BILLINGRADACCTACCTSTARTTIMEDATE2015-11-162457342,808726853,722094911851BILLINGRADACCTACCTSTARTTIMEDATE2015-11-192457346,37718753,568460651861BILLINGRADACCTACCTSTARTTIMEDATE2015-11-232457350,269965283,892777781871BILLINGRADACCTACCTSTARTTIMEDATE2015-11-272457354,052210653,782245371881BILLINGRADACCTACCTSTARTTIMEDATE2015-12-012457357,501967593,449756941891BILLINGRADACCTACCTSTARTTIMEDATE2015-12-042457360,595277783,093310191901BILLINGRADACCTACCTSTARTTIMEDATE2015-12-072457364,195532413,600254631911BILLINGRADACCTACCTSTARTTIMEDATE2015-12-112457367,513587963,318055551921BILLINGRADACCTACCTSTARTTIMEDATE2015-12-142457371,29348383,779895841931BILLINGRADACCTACCTSTARTTIMEDATE2015-12-192457375,750960654,457476851941BILLINGRADACCTACCTSTARTTIMEDATE2015-12-232457379,97807874,227118051951BILLINGRADACCTACCTSTARTTIMEDATE2015-12-272457384,069050934,090972231961BILLINGRADACCTACCTSTARTTIMEDATE2015-12-312457388,067673613,998622681971BILLINGRADACCTACCTSTARTTIMEDATE2016-01-042457391,868680563,801006951981BILLINGRADACCTACCTSTARTTIMEDATE2016-01-082457396,147800934,279120371991BILLINGRADACCTACCTSTARTTIMEDATE2016-01-132457401,051550934,903752001BILLINGRADACCTACCTSTARTTIMEDATE2016-01-172457405,166157414,114606482011BILLINGRADACCTACCTSTARTTIMEDATE2016-01-222457409,810173614,64401622021BILLINGRADACCTACCTSTARTTIMEDATE2016-01-272457415,103541675,293368062031BILLINGRADACCTACCTSTARTTIMEDATE2016-02-012457420,289282415,185740742041BILLINGRADACCTACCTSTARTTIMEDATE2016-02-062457424,795023154,505740742051BILLINGRADACCTACCTSTARTTIMEDATE2016-02-102457429,351736114,556712962061BILLINGRADACCTACCTSTARTTIMEDATE2016-02-152457433,938819444,587083332071BILLINGRADACCTACCTSTARTTIMEDATE2016-02-192457437,928645833,989826392081BILLINGRADACCTACCTSTARTTIMEDATE2016-02-232457442,054675934,12603012091BILLINGRADACCTACCTSTARTTIMEDATE2016-02-272457446,184675934,132101BILLINGRADACCTACCTSTARTTIMEDATE2016-03-022457450,376527784,191851852111BILLINGRADACCTACCTSTARTTIMEDATE2016-03-062457454,460613434,084085652121BILLINGRADACCTACCTSTARTTIMEDATE2016-03-112457459,224155094,763541662131BILLINGRADACCTACCTSTARTTIMEDATE2016-03-162457464,071215284,847060192141BILLINGRADACCTACCTSTARTTIMEDATE2016-03-212457468,975844914,904629632151BILLINGRADACCTACCTSTARTTIMEDATE2016-03-262457474,320138895,344293982161BILLINGRADACCTACCTSTARTTIMEDATE2016-03-312457478,569131944,248993052171BILLINGRADACCTACCTSTARTTIMEDATE2016-04-042457483,079293984,510162042181BILLINGRADACCTACCTSTARTTIMEDATE2016-04-082457487,219490744,140196762191BILLINGRADACCTACCTSTARTTIMEDATE2016-04-122457491,195069443,97557872201BILLINGRADACCTACCTSTARTTIMEDATE2016-04-162457495,182418983,987349542211BILLINGRADACCTACCTSTARTTIMEDATE2016-04-202457499,190914354,008495372221BILLINGRADACCTACCTSTARTTIMEDATE2016-04-252457504,052974544,862060192231BILLINGRADACCTACCTSTARTTIMEDATE2016-04-302457508,98254634,929571762241BILLINGRADACCTACCTSTARTTIMEDATE2016-05-042457513,46004634,47752251BILLINGRADACCTACCTSTARTTIMEDATE2016-05-092457518,22218754,76214122261BILLINGRADACCTACCTSTARTTIMEDATE2016-05-142457522,853553244,631365742271BILLINGRADACCTACCTSTARTTIMEDATE2016-05-182457527,462060194,608506952281BILLINGRADACCTACCTSTARTTIMEDATE2016-05-232457531,911145834,449085642291BILLINGRADACCTACCTSTARTTIMEDATE2016-05-272457536,168738434,25759262301BILLINGRADACCTACCTSTARTTIMEDATE2016-06-012457541,260219915,091481482311BILLINGRADACCTACCTSTARTTIMEDATE2016-06-072457547,384131946,123912032321BILLINGRADACCTACCTSTARTTIMEDATE2016-06-142457553,861944446,47781252331BILLINGRADACCTACCTSTARTTIMEDATE2016-06-212457561,433757,571805562341BILLINGRADACCTACCTSTARTTIMEDATE2016-06-292457569,233865747,800115742351BILLINGRADACCTACCTSTARTTIMEDATE2016-07-052457574,83276625,598900462361BILLINGRADACCTACCTSTARTTIMEDATE2016-07-102457579,675138894,842372692371BILLINGRADACCTACCTSTARTTIMEDATE2016-07-142457584,068090284,392951392381BILLINGRADACCTACCTSTARTTIMEDATE2016-07-182457588,227048614,158958332391BILLINGRADACCTACCTSTARTTIMEDATE2016-07-232457592,511678244,284629632401BILLINGRADACCTACCTSTARTTIMEDATE2016-07-292457599,213634266,701956022411BILLINGRADACCTACCTSTARTTIMEDATE2016-08-052457605,97879636,765162042421BILLINGRADACCTACCTSTARTTIMEDATE2016-08-112457612,232824076,254027772431BILLINGRADACCTACCTSTARTTIMEDATE2016-08-172457617,586840285,354016212441BILLINGRADACCTACCTSTARTTIMEDATE2016-08-222457622,549965284,9631252451BILLINGRADACCTACCTSTARTTIMEDATE2016-08-272457628,259282415,709317132461BILLINGRADACCTACCTSTARTTIMEDATE2016-09-012457633,265162045,005879632471BILLINGRADACCTACCTSTARTTIMEDATE2016-09-062457637,568113434,302951392481BILLINGRADACCTACCTSTARTTIMEDATE2016-09-092457641,134351853,566238422491BILLINGRADACCTACCTSTARTTIMEDATE2016-09-122457644,471898153,33754632501BILLINGRADACCTACCTSTARTTIMEDATE2016-09-162457648,109826393,637928242511BILLINGRADACCTACCTSTARTTIMEDATE2016-09-232457655,011851856,902025462521BILLINGRADACCTACCTSTARTTIMEDATE2016-10-012457662,819965287,808113432531BILLINGRADACCTACCTSTARTTIMEDATE2016-10-082457669,879803247,059837962541 За исключением первой строки в остальном довольно равномерно. Мне кажется, что дело тут не в индексах. Если в select я указываю *, то запрос отрабатывает быстро. Если в select я указываю какое-то поле (любое, хоть C.CUSTOMER_ID, хоть R.RADACCTID), то запрос выполняется очень долго (его завершения я не дождался). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2016, 10:30 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Решил дождаться выполнения запроса, запрос выполнялся почти 7 минут. Трассировка: Код: 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. 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. Код: 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. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2016, 11:30 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Alibek B., выполни это и перепроверь: Код: 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2016, 13:16 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Все как-то само исправилось, статистику я не трогал. Сейчас запрос отрабатывает достаточно быстро. Код: 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. Теперь мне этот запрос нужно дополнительно отфильтровать. Добавляю: Код: plsql 1. и запрос выполняется очень долго. Например для периода в 4 суток запрос выполняется 100мс (в выборке около 6к строк, все записи фетчатся около секунды), а если добавляю условие по CA.VALUE, то этот же запрос выполняется уже 20 минут и я никак не получу статистику. В чем причина по explain plan я понять не могу — там есть TABLE ACCESS FULL TABLE BM_CUSTOMER_CONTACT, но это не такая уж и большая таблица. Explain plan Код: 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. 28. 29. 30. 31. 32. 33. 34. При этом поле BM_CUSTOMER_CONTACT.VALUE проиндексировано (составной индекс по полям CONTACT_DICT_ID,VALUE), а в :address символ процента указывается только в конце (:address='улица%'). То есть на мой взгляд индекс должен использоваться. Можно ли тут что-нибудь сделать? Если заменить left join на объединение через union нескольких запросов, это поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 10:40 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Перенес условие в JOIN: Код: plsql 1. Теперь запрос отрабатывает моментально. Видимо оптимизатор такое не распознал и индекс не задействовал. У меня SQL-запрос формируется динамически и мне было бы проще в тех случаях, когда фильтрация по CA.VALUE не нужна, просто указывать :address='%' (вместо того, чтобы убирать из JOIN это условие). Это очень плохо? По скорости отработки запросов особой разницы я не заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 11:11 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Мда, поспешил. Запрос отрабатывает быстро, но не фильтруется. А если добавить в WHERE критерий CA.VALUE is not null, то запрос снова выполняется долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 11:35 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Последняя версия запроса: Код: 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. Закомментированные строки в конце — это фильтры, которые можно применять дополнительно. Запрос работает быстро, за исключением последнего фильтра (:address). Как только его раскомментирую, запрос выполняется очень долго. Подскажите, как задать критерий отбора по CA.VALUE, чтобы работало быстрее? В BM_CUSTOMER_CONTACT есть составной индекс по полям CONTACT_DICT_ID,VALUE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 13:01 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Alibek B., Если можешь, делай like 'x%' вместо '%x%', тогда будет индекс задействован по range scan, если он есть конечно на адрес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 13:15 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Я его именно так и делаю. Если вложенную таблицу убрать, то индекс используется. А с ним почему-то не используется (или используется, но на времени выполнения это не ощущается). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 14:14 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Что значит или? план где? В плане же видно используется или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 14:45 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Запрос выполняется очень долго, его завершения я не дождался. Explain выглядит так: Код: 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. 28. 29. 30. 31. В таблице BM_CUSTOMER_CONTACT есть следующие индексы: UNIQUE INDEX CUSTOMER_CONTACT_PK ON BM_CUSTOMER_CONTACT (CUSTOMER_CONTACT_ID) INDEX CUSTOMER_CONTACT_IDX ON BM_CUSTOMER_CONTACT (CUSTOMER_ID, CONTACT_DICT_ID) INDEX CUSTOMER_CONTACT_VAL_IDX ON BM_CUSTOMER_CONTACT (CONTACT_DICT_ID, UPPER("VALUE")) И похоже что CUSTOMER_CONTACT_VAL_IDX не используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 15:28 |
|
||
|
Подскажите, как правильно составить запрос, чтобы эффективно использовались индексы
|
|||
|---|---|---|---|
|
#18+
Alibek B., Код: plsql 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. 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 15:42 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39323070&tid=1887083]: |
0ms |
get settings: |
14ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
93ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 439ms |

| 0 / 0 |
