powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Время prepare запроса
25 сообщений из 46, страница 1 из 2
Время prepare запроса
    #39461285
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От чего может зависить время prepare? От индексов, триггеров, размера таблицы, а ещё от чего? Вопрос к чему - в боевой базе время подготовки запроса "плавает" от 5 мс до 3 минут. Почему?
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461295
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Одного и того же, или разных?
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461297
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryGallemar,

Одного и того же, или разных?
Одного и того же
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461300
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

1. Делался ли перед этим prepare других запросов в которые входят те же таблицы
2. Загрузка системы в момент prepare
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461302
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

1. Делался ли перед этим prepare других запросов в которые входят те же таблицы
2. Загрузка системы в момент prepare

1. Делался. Вообще таблица одна из основных, шапка документа. В неё постоянно идет чтение/запись.
2. Загрузка какая? Нагрузка аппаратки или нагрузка на Бд?
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461305
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

в ОС нагрузка на процессор, диски. Наиболее вероятно что какой-то тяжёлый запрос выполняется в это время
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461307
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, тяжелый запрос на эту таблицу или вообще в базе?
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461320
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

вообще в базе. Ты последи когда prepare идёт медленно. Догадки можно строить долго
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461337
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarОт чего может зависить время prepare? От индексов, триггеров, размера таблицы, а ещё от чего? Вопрос к чему - в боевой базе время подготовки запроса "плавает" от 5 мс до 3 минут.
Как вариант - от количества отложенных операций на клиенте, работающем через fbclient.dll
10-минутный "prepare"
Код: vbnet
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.
option explicit

dim cn

set cn=createobject("ADODB.Connection")

cn.Provider="LCPI.IBProvider.3"

cn.Properties("location").value="localhost:d:\database\ram\ibp_test_fb30_d3_2.gdb"
cn.Properties("user id").value="GAMER"
cn.Properties("password").value="vermut"
cn.Properties("dbclient_library").value="fbclient_30.dll"

call cn.Open()

call cn.BeginTrans()

dim cmd, rs
set cmd=createobject("ADODB.Command")

set cmd.ActiveConnection=cn

cmd.CommandText="select ID from DUAL"

dim n

n=0

wscript.echo now()&" - START"

while(n<50000)
 n=n+1 

 if((n mod 10000)=0)then
  wscript.echo now()&" - "&n
 end if

 set rs=cmd.Execute()

 call rs.Close()
 
 set rs=nothing
wend

wscript.echo now()&" - STOP "

wscript.echo now()&" - SET QUERY TEXT"

cmd.CommandText="select ID+1 from DUAL"

wscript.echo now()&" - PREPARE+EXECUTE [relax and wait]"

set rs=cmd.Execute()

wscript.echo now()&" - FETCH FIRST RECORD"

wscript.echo "ID+1="&cstr(rs(0).value)

wscript.echo now()&" - EXIT"



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
29.05.2017 10:32:11 - START
29.05.2017 10:32:12 - 10000
29.05.2017 10:32:15 - 20000
29.05.2017 10:32:18 - 30000
29.05.2017 10:32:22 - 40000
29.05.2017 10:32:27 - 50000
29.05.2017 10:32:27 - STOP
29.05.2017 10:32:27 - SET QUERY TEXT
29.05.2017 10:32:27 - PREPARE+EXECUTE [relax and wait]
29.05.2017 10:42:44 - FETCH FIRST RECORD
ID+1=2
29.05.2017 10:42:44 - EXIT

По факту, конечно, здесь тупит не prepare. Но вызов идет именно isc_dsql_prepare.

GallemarПочему?

Потому что вот

----
А еще можно помучать однонаправленные списки объектов
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461349
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко ДмитрийА еще можно помучать однонаправленные списки объектов
Это только сборка клиента или именно сервер:
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461351
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461355
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

вообще в базе. Ты последи когда prepare идёт медленно. Догадки можно строить долго
Да тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день. Остается только постоянно гонять трассировку, в надежде поймать тяжелый запрос, ну и gstat статистику о таблице смотреть.
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461363
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarКоваленко ДмитрийА еще можно помучать однонаправленные списки объектов
Это только сборка клиента или именно сервер:
В первом случае тупит fbclient.

А во втором - сервер.
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461397
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Analyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181 <- увеличение может косвенно говорить об увеличении времени подготовки?:
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461404
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

тут не те объёмы чтобы prepare долгим было. В тесте у kdv время prepare было 20 сек на терабайтной БД. Где табличка была в несколько миллиардов записей. Там одних PP было 30000.
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461410
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТам одних PP было 30000.
и они были равномерно размазаны по терабайтному файлу БД.
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461419
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Целиком статистика этой таблицы:
Analyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181, Index root page: 2182
Average record length: 178.34, total records: 21068778
Average version length: 54.89, total versions: 71119, max versions: 1024
Data pages: 283423, data page slots: 283423, average fill: 89%
Fill distribution:
0 - 19% = 12
20 - 39% = 2
40 - 59% = 7
60 - 79% = 3
80 - 99% = 283399
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461427
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarAnalyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181, Index root page: 2182
Average record length: 178.34, total records: 21068778
Average version length: 54.89, total versions: 71119, max versions: 1024 Ужас. Тут мусор кто-нибудь собирает ?
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461429
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда-то давно ещё на проверке прав могли возникнуть тормоза.
но это вродь допиливали.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461436
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarДа тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день.Откуда известно, что тормозит именно препаре ?
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461477
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemarAnalyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181, Index root page: 2182
Average record length: 178.34, total records: 21068778
Average version length: 54.89, total versions: 71119, max versions: 1024 Ужас. Тут мусор кто-нибудь собирает ?

Собирает. Sweep делается раз в сутки,просто в эту таблицу постоянно чтение/запись.
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461478
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemarДа тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день.Откуда известно, что тормозит именно препаре ?
Трассировал вместе с разработчиком софтины
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461576
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemarДа тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день.Откуда известно, что тормозит именно препаре ?
Могу на почту скинуть логи и переписку с разработчиком,его умозаключения.
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461716
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Умозаключения вряд-ли надо (хотя можно), но лучше факты - лог трейса, раз трейсом исследовали.
...
Рейтинг: 0 / 0
Время prepare запроса
    #39461724
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, позже скину. Только трейс не фб,а самой софтины.
...
Рейтинг: 0 / 0
25 сообщений из 46, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Время prepare запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]