Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что можно "покрутить", чтобы быстрее выполнялся запрос?
|
|||
|---|---|---|---|
|
#18+
Здраствуйте Уважаемые! Изначально запрос отрабатывал за 2мин, после растановки FK - за 1мин. Чувствую, что не предел, но при большем количестве записей в таблице звонков при таком раскладе долго прийдется ждать, что посоветуете? Возможно ли таблицу звонков, держать всю в памяти, благо планка памяти не на настолько дорогой ресурс? На данный момент в таблице calls(75000), areacodes(7000), networks(35), rates(2000) записей. Или все таки не стоит заморачиваться и реализовать калькуляцию с помощью встроенных процедур? CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ RAM: DDRII 1GB 533Mhz Debian 4.1 (2.6.18-5-486) Postgres 8.1.9 HDD: WD 10000RPM shared_buffers = 32768 temp_buffers = 4096 work_mem = 32768 maintenance_work_mem = 16384 max_stack_depth = 4096 effective_cache_size = 16384 Таблицы: Код: 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. Запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 22:41 |
|
||
|
Что можно "покрутить", чтобы быстрее выполнялся запрос?
|
|||
|---|---|---|---|
|
#18+
Времени нет разбираться в запросе, но сразу напишу, что сами по себе FK ускорить запрос не могли - это индексы помогли. И второе - настройки у тебя просто девственные :) В форуме уже много раз писали как выбирать параметры, поищи. А потом займись запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 00:11 |
|
||
|
Что можно "покрутить", чтобы быстрее выполнялся запрос?
|
|||
|---|---|---|---|
|
#18+
Я бы еще индексы сделал по колонкам, которые ты в запросе сравниваешь. Например: Код: plaintext 1. 2. 3. Здесь явно просятся индексы по networks.net и по calls.src_ip. Ну и план это показывает. Вообще говоря, это основы. Дальше сам смотри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 00:17 |
|
||
|
Что можно "покрутить", чтобы быстрее выполнялся запрос?
|
|||
|---|---|---|---|
|
#18+
Спасибо посмотрю параметры. А насчет индексов на networks.net (поставил unique index) но по плану вижу, что не всеравно seq scan. по calls.src_ip, а здесь вообще стоит ли??? полюбому всю таблицу сканирует, если всю таблицу сканирует то ведь быстрее seq scan, чем по индексу искать затем запись, причем в итоге все прийдется и прочитать. Поставил, попробовал - но оптимизатор тоже не взял этот индекс.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 00:41 |
|
||
|
Что можно "покрутить", чтобы быстрее выполнялся запрос?
|
|||
|---|---|---|---|
|
#18+
попробуйте переформулировать условие Код: plaintext Код: plaintext PS: хочется заменить вложенные запросы на одноуровневый джоин, но не уверен, получится ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 12:57 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35045514&tid=2004728]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 387ms |

| 0 / 0 |
