|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
посмотрите пожалуйста, почему тормоза, или чего я непонимаю. Написал вот простой тест и на последний апдейт у меня на АСА 12.0.1.3406 тратится 53 сек. Где я неправ или опять в сапорт? Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 16:17 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
в таблице ~40000 записей и после несколких запусков тормоза слетели. Сейчас апдейт проходит за 3 сек. Обясните, в чём дело? И вот-так всё равно тормозит. Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 16:46 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 16:49 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
Я бы не назвал этот тест простым. Тут-то и оптимизировать нечего, да и объединения таблиц без вменяемого ключа самих с собой конечно не то, что хорошо оптимизируется. Надо оптимизировать алгоритм. не вдаваясь пока в глуби вашего алгоритма, вот этот встроенный селект в апдейте (select min(s.period_start) from tt s where s.period_start > tt.period_start)) нельзя вынести куда-то наружу с занесением результата во времянку? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 18:31 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
т.е. лично мне не очень нравится апдейт таблицы значениями, которые берутся из нее же да еще и по большому диапазону значений. не знаю как оно там устроено внутри, но обеспечение ACID в таком раскладе возможно ресурсоемко само по себе. Может лучше заранее посчитать новые значения? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 18:33 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
Ggg_old, period_start уже первичный ключ. Таблица временная, если вынесу в отдельную, всё равно потом в одну сливать. И самое главное, что с базой происходит. почему перформанс скачет. Делал сначала за 50 секунд потом на ровном месте включил оптимизатор и сделал за 3 сек. неопределённость / назнаие - что происходит - пугает. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 18:54 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
в таблице записаны интервалы времени - начало и продолжительность. Я нужносделать так, что бы интервалы не прекрывались. т.е. что-бы начала+продолжителность < начало следуюшего. Второй запрос (select count(*)) длится ещё долше - 620 секунд. Даже если вынесу результат в отделную времянку быстее похоже не будет. Я чего-то недопонимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 19:00 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
mikron (select count(*)) длится ещё долше - 620 секунд. Извеняюсь. 260 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 19:12 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
ну, можно конечно профайлером посмотреть какие планы когда работает медленно. Но в таких вычисляллках, лучше наверное захинтовать и не париться. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 22:47 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
микрон, и можно задачу словами объяснить, а то харит заниматься реверсинжиниингом. Хотя бы на простешем статичном наборе данных. Немного смущает про "начало следующего". В sql как известно оперируют множествами, а последовательности приходится эмулировать вскими курсорами и олап-расширениями-изращениями. Может подумать в сторону их? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 22:56 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
Ggg_old, аналитику уже рассматривал. Код: plaintext 1. 2.
Есть набор интервалов времени, каждый описывается <начало_интервала; продолжителность>. Интервалы могут перекрыватся: Код: plaintext 1. 2. 3. 4. 5.
Моя задача "урезать" продолжителность интервала, так, что бы они (интервалы) болше не прекрывались. Код: plaintext 1. 2. 3. 4. 5.
П.С. И кстати, судя по твоему профилю, мы в схожих областях работаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 18:30 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
пробовал кластерный индекс с переброской отсортированных по времени данных в новую времянку, но большого выиграша не увидел. думаю дальше... Но у меня стабильное время выполнения запроса, никаких выбросов в 50 секунд нет. даже и не знаю что сказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 23:19 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
микроныч, после почти часовой стоячей медитации, расширив сознание и обратившись к сокральному заннию предков мне открылось древнее кон-фу стиля "фокс-про-цюань" ;) Вроде как ускорился самый проблемный кусок в 2 раза. Я правда не сильно проверял точность работы алгоритма, но на первый взгляд все ок. кусок 1, ваш: время более 4сек. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
кусок мой ( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2011, 00:49 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
кусок мой (Ninja SCROLL), 1.9cек Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2011, 00:51 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
Курсоры тоже неплохо но аналитика ещё быстрее (пример смотри выше). По памяти около 0,5 секунд. Для данного конкретного примера подходит но я всё ещё медитирую над приемлемым решением. В моей задаче аналитика не работает буквальной двумя строчками ниже, и именно там, где границы интервала задаются так-же неравенством но запись не обязательно является следующей а лежит в интервале [1..N]. В общем не торопясь медитирую. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2011, 15:14 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
Ещё дополню. T. K. Glenn Paulley сказал что так оно и есть с неравенством в условии то приходится принять как факт и смирится, хотя я ожидал лутший результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2011, 15:23 |
|
Снять тормоза с запроса.
|
|||
---|---|---|---|
#18+
я тут по мотивам одного известного текста, написал свой вариант. Надеюсь оцените юмор на злобу топика, а модер мене простит. Оригинальный идея здесь: текст неприличный, детям и беременным не читать. Убираю. под кат. Модератор: Не прощу. Эмоционально шутить на злобу дня можно и на литературном языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2011, 16:23 |
|
|
start [/forum/topic.php?fid=55&msg=37593770&tid=2010197]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
240ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
145ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 707ms |
0 / 0 |