powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Долго выполняется запрос
24 сообщений из 49, страница 2 из 2
Долго выполняется запрос
    #39681571
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvда еще без тега spoiler.На сегодня по спойлер все сунул, там действительно достаточно было только хидера. В следующий раз сам, кнопочка "прочее"->"spoiler".
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39681768
KillerProg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извинияюсь товарищи, немного запарился...


Что можно можно сказать по запросу, почему выполняется медленно все таки...
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39681769
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProg,

21603422 пробовал?
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39681774
KillerProg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисKillerProg,

21603422 пробовал?

Проверил вот такая информацию выдает

автор
План
PLAN JOIN (SORT (JOIN (T O INDEX (ORDERS_IDX5, ORDERS_IDX4), T OD INDEX (FK_ORDERSDETAILS_2))), P INDEX (PK_PRODUCTS))

------ Информация о производительности ------
Время подготовки запроса = 296ms
Время выполнения запроса = 3s 650ms
Среднее время на получение одной записи = 146,00 ms
Current memory = 39 801 032
Max memory = 108 127 880
Memory buffers = 2 048
Reads from disk to cache = 6 257
Writes from cache to disk = 10
Fetches from cache = 0



В принципе стало лучше
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39681779
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProg,

можно попробовать немного увеличить TempCacheLimit
Хотя думаю лучше уже не будет
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39681794
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кеш можно увеличить
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39681796
KillerProg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

TempCacheLimit ?
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39681797
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProg,

TempCacheLimit это память под сортировку (которая в плане как SORT отображается)
а страничный кеш это DefaultDbCachePages
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39682519
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProgИзвинияюсь товарищи, немного запарился...


Что можно можно сказать по запросу, почему выполняется медленно все таки...

А зачем в запросе таблица orders?
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39682820
KillerProg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KreatorXXI,

В этой таблице указан заказ, и дата и время заказа
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39682857
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProgKreatorXXI,

В этой таблице указан заказ, и дата и время заказа

1. Может я невнимателен, но не увидел кто такие IDX тыры-пыры на orders. Дальше всё в предположении, что на эту таблицу всегда накладываются условия.
2. Если на orders нет индекса по дате, создать таковой. Как, впрочем, и по всем селективным полям, на которые накладываются условия фильтрации. Если условия практически всегда применяются по нескольким полям, скажем, по паре дата-клиент, неплох будет и соответствующий композит.
3. Не мудрствовать лукаво, строить запрос из простых джойнов, как Рустам учил.
4. Сделать при помощи +0 таблицу orders ведущей в запросе, ordersdetail ведомой, products ведомой от ordersdetail.
5. Наслаждаться жизнью.
6. Если скорость запроса нужна просто ядерная, и интервалы дат фиксированные, типа помесячно, подумать о таблице хранимых агрегатов на сетке этих периодов.

Если неточно написал названия таблиц, прошу пардону, тырнет сегодня на даче 2G спотыкаясь, перечитывать всё влом.
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39682865
KillerProg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Старый плюшевый мишка,

У меня есть отдельные индексы по orderdate и ordertime
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39682947
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProg,

Возвращаемся взад. Если в запросе есть связка с orders, то нужно обязательно наложить условия фильтрации по дате, например. С такими условиями долго?
Если нужно посмотреть всё, то orders не нужен. Для проверки вообще сделай запрос только по ordersdetail, с суммированием, как положено. Давай посмотрим какой будет результат с одной таблицей в ~300 тыс. записей.
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683409
KillerProg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал запрос отдельно , без таблицы orders.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select
     odetail.productid,
     p.productname,
     sum(odetail.quantity) as qty,
     sum(odetail.quantity * odetail.unitprice) as sm
from ordersdetails odetail
  left join products p on p.id = odetail.productid
group by odetail.productid, p.productname



План запроса вот:

автор
План
PLAN SORT (JOIN (ODETAIL NATURAL, P INDEX (PK_PRODUCTS)))

------ Информация о производительности ------
Время подготовки запроса = 31ms
Время выполнения запроса = 4s 571ms
Среднее время на получение одной записи = 182,84 ms
Current memory = 38 278 720
Max memory = 107 309 016
Memory buffers = 2 048
Reads from disk to cache = 5 121
Writes from cache to disk = 6
Fetches from cache = 0



То есть выполняется 4 с поливной секунды.

А вообще возможно ли ускорить как нибудь этот запрос?

Что то я уже запарился....)))
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683414
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProg,

а сколько надо?
С точки зрения самого запроса при текущей структуре данных относительно варианта 21603422 уже сильно не ускоришь.
можно кое-какие параметры конфигурации покрутить, например размер страничного кеша, но если у тебя классик, то увеличение кеша выше 2048 уже сомнительно.
Можно увеличить размер памяти под сортировку.

И кстати мы так и не увидели версию сервера. Судя по ODS у тебя 2.1.x
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683501
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProgА вообще возможно ли ускорить как нибудь этот запрос?
диском-то у тебя всё нормально? А то 5 тысяч чтений с диска и группировка за 4 сек - это как-то подозрительно.
hd tune, crystalDiskMark ?
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683504
KillerProg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot kdv]KillerProgА то 5 тысяч чтений с диска и группировка за 4 сек - это как-то подозрительно.
hd tune, crystalDiskMark ?

Я не совсем понял?
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683508
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProgЯ не совсем понял?
ээээ, производительность СУБД определятся в первую очередь диском, уже потом памятью и процессором.
По данным page reads и времени запроса, я предполагаю, что производительность диска не очень высокая.
И предложил ПОМЕРЯТЬ её каким-нибудь предложенным инструментом.
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683596
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KillerProg,

Вообще многовато. А если вообще выкинуть таблицу products из запроса? Нужно посмотреть скорость на одной таблице. Или смысла уже нет? А, народ? Просто посмотрел у себя (таблица ~180000 записей), запрос с агрегатами по ней - 733ms. Но у меня FB3.0SS.
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683677
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

дык на троешном SS ты всю таблицу и индекс в страничный кеш можешь легко запихнуть. Да и память под сортировки у тебя небось побольше
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683763
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня, кстати, такая статистика:
------ Информация о производительности ------
Время подготовки запроса = 16ms
Время выполнения запроса = 749ms
Среднее время на получение одной записи = 1,75 ms
Current memory = 68 457 856
Max memory = 153 802 656
Memory buffers = 12 000
Reads from disk to cache = 83 743
Writes from cache to disk = 1
Чтений из кэша = 505 902

Много чтений из кэша, у ТС - 0. Это влияет? Если у ТС FB2.1 и реально улучшить ничего нельзя, то в топку? Переходить на третью версию?
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683764
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIу ТС - 0. Это влияет?
скорее всего это глюк ibe, или он старый.
фетчей из кэша не может быть 0.
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683766
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIреально улучшить ничего нельзя, то в топку? Переходить на третью версию?
"переходить" с 2.0 на 2.1, с 2.1 на 2.5, или с 2.5 на 3.0 можно только с благословения разработчиков. В остальных случаях результат самостоятельного перехода может стать фатальным.
...
Рейтинг: 0 / 0
Долго выполняется запрос
    #39683779
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvKreatorXXIу ТС - 0. Это влияет?
скорее всего это глюк ibe, или он старый.
фетчей из кэша не может быть 0.

этот глюк есть и в последних версиях IBE
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Долго выполняется запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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