Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
/topic/23924\r \r Вот два дня уже пытал этот вопрос на главном форуме. Может здесь чем поможите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2003, 18:40 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
Попробуй так В все обработки поставь DataSource в событие onUpdateDat Сначала сделай обновляющий запрос, а потом ReQuery А потом Abort. Завтра гляну точно, как это у меня делается - начисто из головы выскочило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2003, 22:10 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
2 Cat2 Не мог бы ты поподробнее рассказать, как это сделать. А то я недогоняю малёха. Особенно вот это не понял: Сначала сделай обновляющий запрос, а потом ReQuery А потом Abort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2003, 15:07 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
Блин, чё делать? Все перепробовал. Убрал все обработки. Кинул на форму кнопку, в которой обновляю запрос. И получается таже фигня. Перво нажатие кнопки (первое выполнение запроса) выполняется быстро. А второе тормозит несколько секунд. Так что не понятно почему это происходит. Может сервер выделывается? Народ ну помогите хоть чем-нибудь!!! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2003, 16:34 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
Люди!!! Человеки Вы или хто? Ну помогите!!! Ну позарез нужно. Это не ради праздного любопытства!!! Все, что мог все перепробовал. Не дайте погибнуть моей программе!!! P.S. Жители и гости Столицы будут ублажены пивом. P.S. Я плакаю :(((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2003, 19:17 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
Какой у тебя в кнопке код? Последовательность должна быть такова DataSource.Enabled:=false; DataSet.ReQuery; DataSource.Enabled:=true; ========= Что видно в профилере? Где задержка? В период от нажатия кнопки до посылки запроса, или от посылки запроса до получения результата? ======= Еще вопрос. Как ты тестируешь? У тебя клиент и сервер на одной машине? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2003, 23:21 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
2 Cat2 В кнопке такой код: adostoredproc1.Active:=false; adostoredproc1.Active:=true; //Вот здесь висит долго (при первом выполнении около 2 секунд, при втором около 5 секунд, при последующих выполняется мгновенно) Где задержка? В период от нажатия кнопки до посылки запроса, или от посылки запроса до получения результата? Я так понимаю, что от посылки запроса до получения результата. Но это все чешуя. Посмотрел в профайлере. Там видно, что тормозит Хр.Процедура.А тормозит вот где: Я там объявляю 12 Параметров процедуры типа output. И там их меняю и на клиенте естественно получаю новые значения. Так вот в профайлере вижу: SP:Completed (Это я не знаю чего значит) (3 секунды) Код: 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. и строку RPC:Completed (4 секунды) Код: 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. Потом убрал в хранимой процедуре у параметров тип output. И Процедура выполняется очень быстро. И эти две строки из профайлера исчезли. Так что же, получается ХП тормозит (причем на первом и втором выполнении в одном соединении) из-за того, что у параметров стоит output? Так чтоли? А почему это происходит? И что мне теперь делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 11:42 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
Странно, А может дело и не в этом. Есть у меня другая ХП. Там теже параметры и тоже output. Но выполняется быстро. А могут быть тормоза из-за использования временных таблиц? Ну типа: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 12:15 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
Я не понял, зачем ты делаешь в SP_Tapm_tovar_Select ввод-выход через OUTPUT-параметры? Почему просто не делаешь в теле этой процедуры вызов SELECT с требуемыми данными? А ввод параметров константами? Похоже, что имея передачу параметрами, заданными в виде переменных, сервер каждый раз переделывает план запроса. Тормоза из-за временных таблиц тоже могут быть. Но это решается увеличением tempdb. И, помоему, это не тот случай. "Completed" - в данном контексте - "закончено, готово" ========= Ты не ответил, на чем тестируешь. Если и сервер и клиент на одной машине, особенно если стоит не серверная ОС, то такого рода тормоза могут выскакивать и в QA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 13:23 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
2 Cat2 А ввод параметров константами? Так я же вроде ввожу параметры константами. Вот так: Код: plaintext Похоже, что имея передачу параметрами, заданными в виде переменных В виде переменных, в смысле output? А почему, если я убираю output, то вот это исчезает из профайлера?: Код: 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. Я чего то не пойму, эта процедура (SP_Tapm_tovar_Select) второй раз что ли запускается? Код: plaintext 1. На счет временных таблиц: Когда я в ХП (SP_Tapm_tovar_Select) вместо вот этого: Код: plaintext 1. 2. Пишу вот это: Код: plaintext То ХП выполняется мгновенно (всегда). То есть тормоза могут быть из-за временной таблицы? Ты не ответил, на чем тестируешь. Если и сервер и клиент на одной машине, особенно если стоит не серверная ОС, то такого рода тормоза могут выскакивать и в QA. Windows 2000 SERVER + SQL SERVER 2000 PE. Клиента запускал и на этой машине и по сети. Результат одинаковый. Я уверен, что дело в процедуре. P.S. А нужно ли в ХП сначала создавать Временную таблицу вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Или можно сразу делать так: Код: plaintext Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 14:06 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
2 Cat2 Ну вобчем, переписал я эту злополучную ХП, убрал временные таблицы. Размер процедуры (запроса) увеличился с 9 страниц до 14. Но зато никаких тормозов. Выполняется мгновенно. P.S. А параметры все же оставил output. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 15:27 |
|
||
|
Помогите понять откуда растут ноги.
|
|||
|---|---|---|---|
|
#18+
Созданные в ХП временные таблицы убиваются автоматом, так что проверять их наличие и специально убивать не надо. Причем проверка у тебя сделана неправильно. А как правильно - я не помню. Где-то на форуме был этот вопрос. Суть в том, что в tempdb временная таблица хранится не под заданным тобой именем, а под своим, что-то типа #table____________________________________________000000000007 Ты все же глянь размер tempdb. Поробуй его увеличить раза в два. Настроен ли он у тебя на автоувеличение? Даже если настроено - чем в tenpdb больше места, тем лучше для запросов. Меньше фрагментация. =============== Кинь текст ХП на мыло. Чо-то мне 14 страниц многовато кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 20:05 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32113972&tid=2119004]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 333ms |

| 0 / 0 |
