|
|
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 18:18:35 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
учздфштКак понять какой из двух запросов быстрее? Выполните оба и узнаете какой быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 19:18:18 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
учздфшт, выполните оба и включите \timing перед выполнением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 19:26:03 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
учздфшт, explain analyze ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 19:42:38 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
Oleg Bartunov, Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 21:52:11 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
учздфшт, вот первый запросы выполняется за ~27ms, второй за ~5ms, собственно второй и быстрее. но вот любопытно почему "Bitmap Heap Scan on movie" в первом варианте работает медленнее чем во втором... хотя в запросе используется более предпочитаемый NOT EXISTS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2014, 06:21:42 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
И надо учитывать что: у вас там всего по сотне записей на таблицу... если оно так и будет в дальнейшем - тогда да выбирать то что быстрее по explain analyze если же ожидается что будет в 10-100-1000 и более раз больше записей хоть в одной из участвующих таблиц - тестировать и сравнивать надо на ожидаемых обьемах. Так как тот запрос который был оптимальным на 100 записях вполне может оказаться крайне неоптимальным на 100.000 записей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2014, 11:10:01 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
daevyучздфшт, вот первый запросы выполняется за ~27ms, второй за ~5ms, собственно второй и быстрее. но вот любопытно почему "Bitmap Heap Scan on movie" в первом варианте работает медленнее чем во втором... хотя в запросе используется более предпочитаемый NOT EXISTS. нот экзист 100 раз сканит подзапрос. нот ин - 1 раз. Почуствуйте разницу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2014, 16:36:30 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
Ivan Durakнот экзист 100 раз сканит подзапрос. нот ин - 1 раз. Почуствуйте разницу как я понял в explain analyze это не видно... скиньте пруф, интересно почитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2014, 19:47:13 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
daevyIvan Durakнот экзист 100 раз сканит подзапрос. нот ин - 1 раз. Почуствуйте разницу как я понял в explain analyze это не видно... скиньте пруф, интересно почитать. все видно: loops=1 loops=100 Nested Loop (cost=0.29..19.40 rows=1 width=0) (actual time=0.213..0.213 rows=0 loops=100 ) Nested Loop (cost=16.58..147.92 rows=349 width=4) (actual time=0.298..1.339 rows=39 loops=1 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2014, 11:44:44 |
|
||
|
Как по плану выбрать запрос?
|
|||
|---|---|---|---|
|
#18+
Да это и так очевидно. В NOT EXISTS подзапрос КОРРЕЛИРОВАННЫЙ (есть "movie_genres"."movie_id"="movie"."id") а в NOT IN не коррелированный и его достаточно один раз прогнать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2014, 11:46:12 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38643241&tid=1998689]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
288ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 548ms |

| 0 / 0 |
