Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/40: Рейтинг темы: голосов - 40, средняя оценка - 4.75
 Аватар для Landser
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429

Как узнать время выполнения запроса?

03.05.2010, 12:47. Показов 8538. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
вот какой вопрос возник интересный:есть некоторый запрос ADOQuery, который выводит какое то количество сторк, как считать сколько строк вывелось, я знаю, а вот как узнать за какое время вывелись эти строки?т.е. как узнать время выполнения запроса, и потом вывести его например, на форму?
Если через SqlQuery Analyzer, то можно узнать время выполнения запроса:
SQL
1
2
3
SET statistics TIME ON
SELECT * FROM ---- where -----
SET statistics TIME off
а вот в delphi как, кто нибудь делал ?я исползую компоненты ADO. заранее спасибо))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2010, 12:47
Ответы с готовыми решениями:

Время выполнения запроса
Работаю с MSSQL. Выполняю параметрический запрос. В 1-ый раз время выполнения запроса - 17 сек. Выполняю тот же запрос во 2-ой раз. Время...

Как увеличить время выполнения запроса
Моя база данных MYSQL настроена так, что выполняет запрос не более 30 секунд. после этого тут же прекращает. Скажите, пожалуйста, как мне...

Как ускорить время выполнения запроса
Здравствуйте, как можно ускорить данный запрос: SELECT id, surname, CASE WHEN ball < 60 THEN 'Низкий' WHEN ball BETWEEN...

7
116 / 58 / 6
Регистрация: 16.12.2009
Сообщений: 204
03.05.2010, 13:24
Delphi
1
2
3
4
5
6
7
8
var tick:longint;
begin
   ADOQuery.Close();
   ADOQuery.SQL.Text := '....';
   tick := getTickCount;
   ADOQuery.Open(); // или ExecSQL() в зависимости от запросов
   tick := getTickCount - tick; //в tick будет количество милисекунд
end;
1
 Аватар для Landser
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
03.05.2010, 14:50  [ТС]
спасибо огромное ,victor, просто гениальный способ,что он гениальный, я понял, когда прочитал про функцию getTickCount
а как Вы думаете,вот я делаю запрос на записи из таблицы с 3,5 миллионами строк и 14 полями, и SQLQueryAnalyzer выполняет за 16459 ms, за а ADOQuery 17266, те дольше на 807 ms,и в результате возвращается около 3-х тысяч строк,как по Вашему, это нормально что такая разница между SQLQueryAnalyzer и ADOQuery? и по идее, SQLQueryAnalyzer быстрее всего должен выполнять запрос,да?
0
116 / 58 / 6
Регистрация: 16.12.2009
Сообщений: 204
03.05.2010, 15:52
Не знаю...причины такой разницы во врмени могут быть различными.
Если у вас используется какой-нибудь DBGrid, то попробуйте его отключить и замерить время (хотя не уверен что это из-за него).
1
 Аватар для Landser
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
03.05.2010, 16:08  [ТС]
Цитата Сообщение от _victor Посмотреть сообщение
Если у вас используется какой-нибудь DBGrid, то попробуйте его отключить и замерить время (хотя не уверен что это из-за него).
а что Вы имеете ввиду,отключить DBGrid? у меня ж в него выводятся записи , которые получены в рез-те запроса,или Вы имеете ввиду, что грид долго заполняется?так в SQLQueryAnalyzer тоже выводятся записи в грид..
и вообще, как Вы думаете, можно ли считать как бы эталонным временем то время, за которое выполняет SQLQueryAnalyzer, и с ним сравнивать тогда время, которым будут выполняться все другие запросы?
0
116 / 58 / 6
Регистрация: 16.12.2009
Сообщений: 204
03.05.2010, 16:19
Вполне возможно, что затраты идут на формирование списка (но грид я практически никогда не использовал и с SQLQueryAnalyzer не работал, черт его знает на чем он писан и что у него внутри происходит).
1
 Аватар для Landser
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
03.05.2010, 16:31  [ТС]
спасибо, victor. Да,наверное список записей в гриде долго формируется.Спасибо, Вы мне очень помогли с функцией getTickCount
0
116 / 58 / 6
Регистрация: 16.12.2009
Сообщений: 204
03.05.2010, 16:34
Вообщем-то, даже не за что )
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2010, 16:34
Помогаю со студенческими работами здесь

Как узнать время выполнения кода?
Без помощи GetTime

Как узнать время выполнения алгоритма
Пожалуйста, подскажите, что нужно сделать, чтобы узнать за какое время выполняется программа private int Nod(int a, int b) { while...

Как узнать время выполнения программы?
Как узнать время выполнения программы? Чтобы нажал на кнопку, производятся расчеты (например 2+2), выводится результат и время затраченное...

Как узнать в delphi время выполнения
как узнать в delphi время выполнения например определенной функции.

Как узнать время выполнения алгоритма
Мне нужно сравнить несколько алгоритмов сортировки. Но таким способом как у меня, дает очень маленькие значения .... дл массива int -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru