powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Медленно работает FireBird
77 сообщений из 77, показаны все 4 страниц
Медленно работает FireBird
    #39449890
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здорова товарищи программисты, суть проблемы в следующем

Есть база на одном компе, есть клиент в другом городе , через VPN сделали соединение, и подсоединяемся к БД...

Программа подсоединяется к БД нормально, но вот запросы, пока обрабатывает долго, ну где то секунд 2-3...

Затем решил проверить с помощью ibexpert, сделал простой запрос, типа "select * from <table>", выполняется тоже где около 2 секунд.

Хотел узнать какие нужно делать настройки самого firebird , или может как то запросы оптимизировать.

Заранее спасибо...
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449894
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,

Что вы знаете о ключах?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449898
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть имеете ввиду в базе, то в таблицах есть необходимые ключи, и первичный и внешний при необходимости
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449903
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала проверить локальное соединение для выявления, на сервере проблема или в соединении.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449909
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фаерберд активно использует сетевой обмен даже при самых простых запросах. Если сеть медленная (скорость в канале, пинг) - ничего не поделаешь.
Можно отказаться от классической двузвенки с целью оптимизации сетевого трафика.
Но сперва следует поверить, в сетевых лагах ли дело.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449925
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackЗатем решил проверить с помощью ibexpert, сделал простой запрос, типа "select * from
<table>", выполняется тоже где около 2 секунд.
И эксперт и все попсовые компоненты доступа к Firebird даже для простейших запросов делают
большую кучу совершенно ненужной фигни, требующей обмена пакетами с сервером. Три варианта
решения этой проблемы:
1) Очень тщательно настроить компоненты, отрубив им ненужные опции;
2) Поставить локальное зеркало БД;
3) Использовать уэб-морду вместо десктопного приложения.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449942
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Поставить локальное зеркало БД;
Использовать уэб-морду вместо десктопного приложения.
-----

Как это сделать? И что ты имеешь ввиду по словом "уэб-морда"?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449967
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackКак это сделать? И что ты имеешь ввиду по словом "уэб-морда"?

Репликация.
Web-interface.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449972
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати как можно организовать репликацию в FireBird?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449973
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackКстати как можно организовать репликацию в FireBird?
Как ни странно - с помощью одного из репликаторов Firebird.

Модератор: Тема перенесена из форума "Delphi".
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449987
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тут-то она назачем? Проблема не в Firebird, а в компонентах доступа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449989
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBE - это не "в компонентах доступа".
Ему надо подсказывать в направлении
правки настроек VPN, соединения,
может Zebedee, может поменьше
телодвижений в коннекте делать и т.д.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449990
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамIBE - это не "в компонентах доступа".
А то он телепатией к серверу ходит, ага... FIB+ они и в IBE - диагноз.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39449992
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov> А то он телепатией к серверу ходит

Ты становишься слишком предсказуемым. :)

P.S. Доверия к АК у меня как-то больше, чем к ТС.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39450556
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackакие нужно делать настройки самого firebirdНи версии, ни конфигов, ни параметров сети, ни описания компонентов доступа, а все туда же настраивать.

DS вон на кофейной гуще погадал, а мне лениво. Будет конкретная информация, будет и помощь, а так топик кандидат на убой.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39450557
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сколько медленнее, по сравнению с локальной базе и подключением на localhost?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39450648
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyDS вон на кофейной гуще погадал
Это, к сожалению, не гуща, а "опыт, сын ошибок трудных".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451147
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что вам показать именно?

Допустим с клиента который находится в другом городе, это vpn соединение, я делаю простой пинг с сервером бд, то ответ идет с задержкой 44ms, 45ms
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451168
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack, какой VPN используется? На сколько медленнее, по сравнению с локальной базе и подключением на localhost? Пытались ли выяснить причины тормозов в сети с помощью WireShark? Пытались ли посмотреть качество соединения путем сбора статистики потерь icmp пакетов, посылая пакеты максимального размера? Пробовали ли отключить алгоритм Нагла для VPN/WAN интерфейса? Пытались ли профилировать TCP пакеты на порт 3050 (gds_db) через службу QoS?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451184
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack, посмотрите в этой теме , может что-то для себя почерпнете. Еще отмечу, что на стороне Firebird сервера использование Nagle's алгоритма можно отключить настройкой параметра TcpNoNagle в файле firebird.conf
Кстати, конфиг FB сервера меняли?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451240
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим я запустил ibexpert на локальной машине и тоже самое на удаленной машине, и сделал идентичные запросы, простые, на локальной машине выполнилось за 30ms, а на удаленной выполнилось, где то около 2-х секунд.

Насчет conf - файла честно сказать не менял
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451246
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackДопустим я запустил ibexpert на локальной машине и тоже самое на удаленной машине, и
сделал идентичные запросы, простые, на локальной машине выполнилось за 30ms, а на
удаленной выполнилось, где то около 2-х секунд.

А теперь то же самое проделай с isql и доложи результаты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451262
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Mblack!
You wrote on 11 мая 2017 г. 12:09:20:

Mblack> Допустим я запустил ibexpert на локальной машине и тоже самое на удаленной машине,
> и сделал идентичные запросы, простые, на локальной машине выполнилось за 30ms,
> а на удаленной выполнилось, где то около 2-х секунд.зачем запускать IBExpert на удаленной машине?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451323
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackудаленной выполнилось, где то около 2-х секунд.
что именно выполнилось 2 секунды? prepare, execute, fetch?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451640
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обычный запрос в ibexpert "select * from <table>" там где 11 с лишним тыс. записей
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451677
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvMBlackудаленной выполнилось, где то около 2-х секунд.
что именно выполнилось 2 секунды? prepare, execute, fetch?MBlackобычный запрос...
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451680
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это получается fetch.... Сразу не догнал
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451710
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackобычный запрос в ibexpert "select * from <table>" там где 11 с лишним тыс. записейТо есть ты рассчитывал, что информация набора 11 тыс. записей будет передана по низкоскоростному интернет каналу за те же 30 мс.?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451728
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Увеличится ли скорость передачи если, я буду подулючаться к базе не через vpn, а напрямую к базе, то есть по прямому ip
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451729
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackУвеличится ли скорость передачи если, я буду подулючаться к базе не через vpn, а напрямую к базе, то есть по прямому ip
Никакой гарантии.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451730
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что можно придумать в такой ситуации, сделать на удаленном клиенте, свою локальную базу, и делать сихронизацию с главной базой, или есть другие пути решения данной проблемы?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451731
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackЧто можно придумать в такой ситуации, сделать на удаленном клиенте, свою локальную базу, и делать сихронизацию с главной базой, или есть другие пути решения данной проблемы?
Тебе уже рассказали. Читай с начала.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451732
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решений много говорили, но что больше подходит?

Ключи допустим в таблицах необходимые есть, если горить о них..., другое дело медленный канал...
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451733
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я из за этого просил совета на форуме...
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451735
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, смотри. Задержки в канале ты уменьшить не сможешь.

Стало быть, выбирай из предложенного: 20463890

Можешь еще на стороне сервера ввести дополнительный компонент, который обращается с СУБД, а клиент с этим компонентом общается по собственному, экономичному протоколу обмена. Но сие трудоемко.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451753
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй пробросить ssh туннель с компрессией. :)
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451767
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,

в треке прокол немного эффективней + можно включить компоессию
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451795
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackУвеличится ли скорость передачи если, я буду подключаться к базе не через vpn, а напрямую к базе, то есть по прямому ipКрайне маловероятно. Это возможно только в случае низкой вычислительной мощности маршрутизаторов, являющихся концами твоего VPN тоннеля.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451797
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack, для начала хотелось бы знать - нафига выбирать таблицу целиком? Это моветон с точки зрения клиент-серверной архитектуры.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451880
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackЯ из за этого просил совета на форуме...Автор не потрудился озвучить даже версию сервера, не говоря уж об остальных наводящих вопросах. Нравится бродить в темноте и натыкаться на углы? ну да дело хозяйское. Подземный стук в подвале не лечим.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451886
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,
Ставь терминальный сервер или rdp. В Винде сейчас есть Remote Application (Загрузка сразу приложения вместе с терминальной сессией). ИМХО, путь попроще и подешевле репликации или вэб-морды.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451963
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия сервера Firebird 2.5...

Кстати в приложении я не дергаю всю таблицу, показываю данные за день, делаю выборку по дате и времени.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39451978
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackВерсия сервера Firebird 2.5...

Кстати в приложении я не дергаю всю таблицу, показываю данные за день, делаю выборку по дате и времени.

Да по сути всё равно. Даже если нужна всего одна запись. С медленным каналом нужно что-то делать.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39452063
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Kreatorxxi!
You wrote on 12 мая 2017 г. 13:12:37:

Kreatorxxi> Да по сути всё равно. Даже если нужна всего одна запись. С медленным каналом нужно что-то делать.канал тут пофиг.
но ТС упорно игнорирует просьбу выполнить запрос в isql
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39452191
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack, а блобы в той таблице есть? пинг до хоста с БД какую задержку показывает?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39452385
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блоб поля нет там у меня, пинг до БД, идет с задержкой 45-44 ms
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39452388
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А с какой задержкой идёт пинг до твоего мозга, что ты уже 36 часов игнорируешь совет
проверить скорость работы isql-ем?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39452410
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо сделаю с помощью isql....

Кстати с помощью какой команды проверить sql просмотреть план выполнение запроса, то есть за сколько он выполнился
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39452418
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM SET (STATS, PLAN).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456596
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
план запроса ("select * from orders"), там 12 с лишним тыс. записей
Я не все 12 тыс. тяну, просто хотел проверить как выполняется запрос, выдал вот такой план.
Сам запроса выполняется быстро, а вот подготовка, где 405 ms

Это статистика сделанная с помощью IbExpert
Plan
PLAN (ORDERS NATURAL)

------ Performance info ------
Prepare time = 405ms
Execute time = 32ms
Avg fetch time = 1,14 ms
Current memory = 36 778 212
Max memory = 37 271 332
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 0
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456604
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,

А чего здесь проверять, если всю таблицу тащишь? В принципе, всё нормально. Покажи DDL таблицы Orders, будет хоть что обсуждать.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456610
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackЭто статистика сделанная с помощью IbExpert
Вот жеж упёртое создание...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456611
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackплан запроса ("select * from orders"), там 12 с лишним тыс. записей

PLAN (ORDERS NATURAL)


У тебя нет условия выборки, ты просто вытягиваешь всю таблицу.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456634
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может запись 100кило. 1 Гиг качнуть на слабой сетке...
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456653
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Товарищи я жен написал вам что в программе не тащу все данные, я для примера написал.

А это план запроса, который тащит определенные данные, в основном как я делаю в программе, даты поставлены, чисто для примера

select * from orders where orderdate >= '01.05.2017' and orderdate <= '20.05.2017'

План:

Plan
PLAN (ORDERS NATURAL)

------ Performance info ------
Prepare time = 421ms
Execute time = 78ms
Avg fetch time = 2,79 ms
Current memory = 36 793 516
Max memory = 37 296 776
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 2
Fetches from cache = 0

DDL - таблицы orders

SET SQL DIALECT 3;



/******************************************************************************/
/*** Tables ***/
/******************************************************************************/



CREATE TABLE ORDERS (
ID DINT_NOT_NULL NOT NULL /* DINT_NOT_NULL = INTEGER NOT NULL */,
ORDERNUM VARCHAR(50),
ORDCOUNT SMALLINT DEFAULT 0,
CUSTOMERID DINT_NOT_NULL /* DINT_NOT_NULL = INTEGER NOT NULL */,
OPERATORID DINT_NOT_NULL /* DINT_NOT_NULL = INTEGER NOT NULL */,
ORDERDATE DDATE /* DDATE = DATE */,
ORDERTIME DTIME /* DTIME = TIME */,
DELIVERYADR VARCHAR(250),
ITEMKCH DINT_NULL /* DINT_NULL = INTEGER */,
PKGONE SMALLINT,
ORDERSTATUS SMALLINT DEFAULT 1,
CURRDELAVERY DMONEY DEFAULT 0 /* DMONEY = DECIMAL(15,2) */,
ODISCONT DMONEY DEFAULT 0 /* DMONEY = DECIMAL(15,2) */,
DESCORDER DTEXT /* DTEXT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
MOREINFORDER DTEXT /* DTEXT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
APRINT SMALLINT DEFAULT 0
);




/******************************************************************************/
/*** Primary keys ***/
/******************************************************************************/

ALTER TABLE ORDERS ADD CONSTRAINT PK_ORDERS PRIMARY KEY (ID);


/******************************************************************************/
/*** Indices ***/
/******************************************************************************/

CREATE INDEX ORDERS_IDX1 ON ORDERS (CUSTOMERID);
CREATE INDEX ORDERS_IDX2 ON ORDERS (ORDERSTATUS);
CREATE INDEX ORDERS_IDX3 ON ORDERS (ORDERNUM);


/******************************************************************************/
/*** Triggers ***/
/******************************************************************************/


SET TERM ^ ;



/******************************************************************************/
/*** Triggers for tables ***/
/******************************************************************************/



/* Trigger: ORDERS_BD0 */
CREATE OR ALTER TRIGGER ORDERS_BD0 FOR ORDERS
ACTIVE BEFORE DELETE POSITION 0
AS
declare variable cRec integer;
begin
/* Trigger text */
select count(id) from ordersdetails where ordid = old.id into :cRec;
if (:cRec > 0) then exception not_delete_orders;
end
^


SET TERM ; ^
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456654
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,

при таком плане сервер выдает ибэксперту только те записи, которые влезают в его грид.
Поэтому если ты хочешь проверить скорость выборки ВСЕХ записей, возвращаемых запросом, тебе надо жать не кнопку execute, а кнопку Fetch All (два зеленых треугольника).
http://www.ibase.ru/client/
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456655
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,

Во-первых, даже если Вы рассматриваете последний запрос, то у Вас фильтр по orderdate, а индекса по orderdate у Вас нет, сразу получаете проход по натуралу. Во-вторых, у Вас, я вижу, BLOB'ы. Что в них? Гигабайты?
Вы покажите нам статистику вот по такому, например, запросу:
Код: sql
1.
2.
3.
select id, ORDERNUM, ORDCOUNT, CUSTOMERID, ORDERTIME, DELIVERYADR
from orders
where id=100


Кстати, триггер Ваш - полная глупость. Для этого нужен форейн ключ.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456664
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KreatorXXI,

Спасибо за замечание сделаю с помощью foreign Key
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456666
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KreatorXXIMBlack,

Во-первых, даже если Вы рассматриваете последний запрос, то у Вас фильтр по orderdate, а индекса по orderdate у Вас нет, сразу получаете проход по натуралу. Во-вторых, у Вас, я вижу, BLOB'ы. Что в них? Гигабайты?
Вы покажите нам статистику вот по такому, например, запросу:
Код: sql
1.
2.
3.
select id, ORDERNUM, ORDCOUNT, CUSTOMERID, ORDERTIME, DELIVERYADR
from orders
where id=100


Кстати, триггер Ваш - полная глупость. Для этого нужен форейн ключ.

Вот статистика, по запросу который ты указал

Plan
PLAN (ORDERS INDEX (PK_ORDERS))

------ Performance info ------
Prepare time = 422ms
Execute time = 31ms
Avg fetch time = 31,00 ms
Current memory = 36 980 704
Max memory = 37 296 776
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 2
Fetches from cache = 0
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456671
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,

Это по удалёнке что-ли? Не может FB отбирать одну запись по первичному ключу 31ms. Даже не знаю что сказать. А вкладка "Анализ производительности" что показывает?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456674
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlack,

регулярный prepare time в 0.5 сек как бы намекает, что таблица имеет конский размер. Я не увидел, чтобы вы приводили размер БД или размер таблицы.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456676
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvMBlack,

регулярный prepare time в 0.5 сек как бы намекает, что таблица имеет конский размер. Я не увидел, чтобы вы приводили размер БД или размер таблицы.
Что имеете ввиду размер таблицы?
Если количество записей то в это таблице около 12 с половиной тыс. записей
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456681
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBlackЧто имеете ввиду размер таблицы?
я имею в виду gstat -r или gstat -r -t tablename
у вас там блобы, так что таблица может занимать сотни гиг даже с 12к записей.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456682
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

Лучше мне BLOB убрать, я сейчас посмотрел, они кстати и не нужны, потому как там может хранится строка, где может быть до 1 тыс. символов
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456712
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDDMBlack, а блобы в той таблице есть?...
MBlack Блоб поля нет там у меня ...

kdv...
у вас там блобы , так что таблица может занимать сотни гиг даже с 12к записей.

MBlackkdv,

Лучше мне BLOB убрать , я сейчас посмотрел, они кстати и не нужны, потому как там может хранится строка, где может быть до 1 тыс. символов

Пациент - лжец.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456724
MBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибся, сказав что нет блобов, с кем не бывает
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456767
Igor Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvMBlack,

регулярный prepare time в 0.5 сек как бы намекает, что таблица имеет конский размер. Я не увидел, чтобы вы приводили размер БД или размер таблицы.

Дима, вопрос можно? Где-то есть информация по зависимости времени prepare от размера таблицы? А то у меня на одном процессе время prepare плавает от 15 мс до пары минут.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456802
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Gallemar,

ты что хочешь? Формулы как таковой нет. Во время prepare оценивается кардинальность таблиц. Оценивается она примерно используя PP. Чем больше таблица тем больше будет PP и тем дольше будет идти prepare. Тут как-то был топик про таблицу размером в 1 Гб prepare по которой шёл минуту.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456819
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТут как-то был топик про таблицу размером в 1 Гб prepare по которой шёл минуту.
не 1 гигабайт, а 1 терабайт, и не таблица, а база, и не минуту, а 20 секунд. :-)
http://www.ibase.ru/fb1tbtech/

Насчет скана pointer pages - все верно. Но еще я вспомнил, что prepare состоит из нескольких действий, и в API FB/IB это происходит с многими roundtrips, что на медленных каналах как раз дает тормоза.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456820
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

да, и в ФБ 3.0 трафик в коннекте оптимизирован по сравнению с предыдущими версиями, так что еще зависит и от версии ФБ.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456821
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvя вспомнил, что prepare состоит из нескольких действий, и в API FB/IB это происходит с
многими roundtrips, что на медленных каналах как раз дает тормоза.

Лучше забудь это обратно. Именно prepare всегда был одним трипом. А в 2.5 оптимизировали и
его необязательную обвеску типа get_sql_info().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456825
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис..Во время prepare оценивается кардинальность таблиц. Оценивается она примерно используя PP. Чем больше таблица тем больше будет PP и тем дольше будет идти prepare...
А индексы во время prepare помогают?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456830
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДА индексы во время prepare помогают?
в смысле? сервер должен понять, какие индексы есть, и какие имеет смысл использовать. Так что чем больше индексов, тем дольше prepare. Конечно, речь про миллисекунды, но все-таки.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456836
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тяжёлый случай.
Я похожий запрос писал на своей таблице. Вот такие цифры.

CREATE TABLE UMASS (
ID_UMS ID NOT NULL /* ID = INTEGER */,
ID_OPER ID NOT NULL /* ID = INTEGER */,
ID_MDL ID NOT NULL /* ID = INTEGER */,
ID_ISP INTEGER,
ID_MASTER INTEGER,
ID_KONTR INTEGER,
DAT_ISP DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */,
DAT_MASTER DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */,
DAT_KONTR DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */,
NOR_UMS NUMERIC(9,3),
ID_MTP ID /* ID = INTEGER */,
ID_TEXNOL INTEGER,
DATN DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */,
TIMN NUMERIC(5,0),
PT NUMERIC(1,0),
DATR DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */,
SD INTEGER,
ID_KIT ID /* ID = INTEGER */,
ID_PAS ID /* ID = INTEGER */,
NNTP INTEGER,
NNOP NUMERIC(7,2),
KOL_RAB SMALLINT,
NDAT DATE,
NTIM SMALLINT,
KDATT DATE,
KTIM SMALLINT,
PRUCH SMALLINT,
TIME_ISP TIME,
TIME_MASTER TIME,
TIME_KONTR TIME
);




/******************************************************************************/
/*** Primary keys ***/
/******************************************************************************/

ALTER TABLE UMASS ADD CONSTRAINT PK_UMASS PRIMARY KEY (ID_UMS);


/******************************************************************************/
/*** Foreign keys ***/
/******************************************************************************/

ALTER TABLE UMASS ADD CONSTRAINT FK_UMASS_RELATIONS_MODUL FOREIGN KEY (ID_MDL) REFERENCES MODUL (ID_MDL) ON DELETE CASCADE;
ALTER TABLE UMASS ADD CONSTRAINT FK_UMASS_RELATIONS_RELTP FOREIGN KEY (ID_OPER) REFERENCES RELTP (ID_RTP) ON DELETE CASCADE;
ALTER TABLE UMASS ADD CONSTRAINT FK_UMASS_RELATIONS_RELTP1 FOREIGN KEY (ID_MTP) REFERENCES RELTP (ID_RTP) ON DELETE CASCADE;


/******************************************************************************/
/*** Indices ***/
/******************************************************************************/

CREATE INDEX UMASS_IDX1 ON UMASS (DATN);
CREATE INDEX UMASS_IDX2 ON UMASS (ID_KIT);
CREATE INDEX UMASS_IDX3 ON UMASS (ID_TEXNOL);
CREATE INDEX UMASS_IDX4 ON UMASS (DAT_ISP);
CREATE INDEX UMASS_IDX5 ON UMASS (DAT_MASTER);
CREATE INDEX UMASS_IDX6 ON UMASS (DAT_KONTR);
CREATE INDEX UMASS_IDX_PAS ON UMASS (ID_PAS);

Триггеры не показал, не важны здесь.
Запрос.

select ConnectionType "Тип соединения", sum(c01) "01", sum(c02) "02", sum(c03) "03", sum(c04) "04", sum(c05) "05",
sum(c06) "06", sum(c07) "07", sum(c08) "08", sum(c09) "09", sum(c10) "10"
from (
select a.id_isp ConnectionType,
iif(extract(day from a.dat_isp)=1,1,0) c01,
iif(extract(day from a.dat_isp)=2,1,0) c02,
iif(extract(day from a.dat_isp)=3,1,0) c03,
iif(extract(day from a.dat_isp)=4,1,0) c04,
iif(extract(day from a.dat_isp)=5,1,0) c05,
iif(extract(day from a.dat_isp)=6,1,0) c06,
iif(extract(day from a.dat_isp)=7,1,0) c07,
iif(extract(day from a.dat_isp)=8,1,0) c08,
iif(extract(day from a.dat_isp)=9,1,0) c09,
iif(extract(day from a.dat_isp)=10,1,0) c10
from umass a
where a.dat_isp between '01.03.2017' and '10.03.2017'
)
group by 1

Анализ.

План
PLAN SORT (A INDEX (UMASS_IDX4))

------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 79ms
Среднее время на получение одной записи = 0,26 ms
Current memory = 58 422 800
Max memory = 59 574 984
Memory buffers = 12 000
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 24 274

Таблица - чуть больше двух миллионов записей. Но в выборке по фильтру чуть больше 12000. Как у ТС. Но это не удалёнка. Всё же интересно чем вызвано такое большое время подготовки запроса?
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456846
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

пусть автор сравнит локально и удаленно.
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456876
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvне 1 гигабайт, а 1 терабайт, и не таблица, а база, и не минуту, а 20 секунд. :-)

да с порядком я ошибся :-(
...
Рейтинг: 0 / 0
Медленно работает FireBird
    #39456919
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСимонов Денис,

да, и в ФБ 3.0 трафик в коннекте оптимизирован по сравнению с предыдущими версиями, так что еще зависит и от версии ФБ.

У меня 2.5 и от разработчика уже получил предложение пробить тему финансирования перехода с 2.5 на 3.0 :)
...
Рейтинг: 0 / 0
77 сообщений из 77, показаны все 4 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Медленно работает FireBird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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