Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите оптимизировать запрос , если возможно.
|
|||
|---|---|---|---|
|
#18+
задача следующая По определенным признакам выбрать счета с кодами подразделений и получить остаток по каждому счету из огромной таблицы остатков. Остатки хранятся только за те дни, когда были движения по счету, поэтому разбивать таблицу остатков по периодам по моему не имеет смысла. Код: 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. можно ли чего-то еще сделать для уменьшения времени выборки? в таблице retail.restanl ~ 6 млн. записей, счетов 67 тыс. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 09:38 |
|
||
|
Помогите оптимизировать запрос , если возможно.
|
|||
|---|---|---|---|
|
#18+
если во временной таблице "много" даных - может быть сделать индексы на временной таблице ? + analyze на неё после этого. ещё судя по стоимости seq scan и nested loop они у Вас отключены ? что-то ещё отключено ? что выводит такой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 11:06 |
|
||
|
Помогите оптимизировать запрос , если возможно.
|
|||
|---|---|---|---|
|
#18+
"enable_bitmapscan";"on" "enable_hashagg";"on" "enable_hashjoin";"on" "enable_indexscan";"on" "enable_mergejoin";"on" "enable_nestloop";"on" "enable_seqscan";"off" "enable_sort";"on" "enable_tidscan";"on" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:01 |
|
||
|
Помогите оптимизировать запрос , если возможно.
|
|||
|---|---|---|---|
|
#18+
создание индексов по временной таблице +ANALYZE по ней ничего не дали. Те же 20 секунд. Видимо сделать больше ничего нельзя? Получение последнего остатка в хранимку на сервер не поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:13 |
|
||
|
Помогите оптимизировать запрос , если возможно.
|
|||
|---|---|---|---|
|
#18+
попробуйте и покажите explain analyze запроса: Код: plaintext 1. 2. 3. 4. 5. 6. в таблице restanl комбинация полей (idaccanl,restanl_date) уникальна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 00:27 |
|
||
|
Помогите оптимизировать запрос , если возможно.
|
|||
|---|---|---|---|
|
#18+
Если комбинация полей (idaccanl, restanl_date) в таблице restanl уникальна, то должен работать такой вариант (с двойным индексом по idaccanl, restanl_date): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Если же комбинация не уникальна (что вряд ли имеет место), то нужно делать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 03:22 |
|
||
|
Помогите оптимизировать запрос , если возможно.
|
|||
|---|---|---|---|
|
#18+
Действительно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 12:30 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35636822&tid=2003891]: |
0ms |
get settings: |
5ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 348ms |

| 0 / 0 |
