SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Fb 5.0.1.1329 очень медленный подсчет записей (Замедление запроса по сравнению с Fb 4)
Fb 5.0.1.1329 очень медленный подсчет записей [сообщение #4344] Mon, 05 February 2024 19:48 Переход к предыдущему сообщению
olegvk2000 в настоящее время не в онлайне  olegvk2000
Сообщений: 16
Зарегистрирован: February 2024
Junior Member
Существенное замедление запроса по сравнению с Fb4
Выполнение скрипты около минуты раньше даже не обращал внимания почти мгновенно было ну уж точно не более пару секунд и это при том что раньше было в таблице около 30 млн записей


select count(*) from turist_list_detal

Записей: 18 971 605

PLAN (TURIST_LIST_DETAL NATURAL)

------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 59s 968ms
Среднее время на получение одной записи = 59 968,00 ms
Current memory = 850 100 512
Max memory = 850 759 088
Memory buffers = 50 000
Reads from disk to cache = 185 058
Writes from cache to disk = 0
Чтений из кэша = 19 711 898

Скрипт таблицы с 19 млн записей
CREATE TABLE TURIST_LIST_DETAL (
   UID              T_UID NOT NULL /* T_UID = BIGINT NOT NULL */,
   COD_COUNTRY      T_COD_COUNTRY NOT NULL /* T_COD_COUNTRY = CHAR(3) */,
   UID_LIST         T_UID NOT NULL /* T_UID = BIGINT NOT NULL */,
   UID_TRAVEL       T_UID NOT NULL /* T_UID = BIGINT NOT NULL */,
   LAST_NAME        T_A64 NOT NULL /* T_A64 = VARCHAR(64) */,
   FIRST_NAME       T_A64 /* T_A64 = VARCHAR(64) */,
   BIRTHDAY         T_DATE /* T_DATE = DATE */,
   POLIS_NUMBER     T_A64 /* T_A64 = VARCHAR(64) */,
   DATE_IN          T_DATE NOT NULL /* T_DATE = DATE */,
   DATE_OUT         T_DATE NOT NULL /* T_DATE = DATE */,
   FRANSHISE        T_MONEY /* T_MONEY = NUMERIC(15,2) */,
   KOL_DAY          COMPUTED BY (CAST((DATE_OUT - DATE_IN + 1) as Integer)),
   SUMMA_IC         T_MONEY /* T_MONEY = NUMERIC(15,2) */,
   SUMMA_IC_PREMIA  T_MONEY DEFAULT 0 NOT NULL /* T_MONEY = NUMERIC(15,2) */,
   COD_VALUT_IC     T_COD_VALUT DEFAULT 'USD' NOT NULL /* T_COD_VALUT = CHAR(3) */,
   IC_PROGRAM       T_A3 /* T_A3 = VARCHAR(3) */,
   IC_COD           T_A3 /* T_A3 = VARCHAR(3) */,
   IS_VIP           COMPUTED BY ((select turist_list.is_vip from turist_list
                   where
                   (
                    (turist_list.uid = UID_LIST)
                    ) ))
);



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

ALTER TABLE TURIST_LIST_DETAL ADD CONSTRAINT PK_TURIST_LIST_DETAL PRIMARY KEY (UID);


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

ALTER TABLE TURIST_LIST_DETAL ADD CONSTRAINT FK_TURIST_LIST_DETAL_1 FOREIGN KEY (UID_LIST) REFERENCES TURIST_LIST (UID) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE TURIST_LIST_DETAL ADD CONSTRAINT FK_TURIST_LIST_DETAL_2 FOREIGN KEY (COD_COUNTRY) REFERENCES COUNTRY (COD_COUNTRY) ON UPDATE CASCADE;
ALTER TABLE TURIST_LIST_DETAL ADD CONSTRAINT FK_TURIST_LIST_DETAL_3 FOREIGN KEY (UID_TRAVEL) REFERENCES CLIENTS (UID) ON UPDATE CASCADE;


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

CREATE INDEX TURIST_LIST_DETAL_IDX1 ON TURIST_LIST_DETAL (POLIS_NUMBER);
CREATE DESCENDING INDEX TURIST_LIST_DETAL_IDX_DATE_IN ON TURIST_LIST_DETAL (DATE_IN);
CREATE DESCENDING INDEX TURIST_LIST_DETAL_IDX_DATE_OUT ON TURIST_LIST_DETAL (DATE_OUT);
 
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Предыдущая тема: Клиент FB 5 <-> Сервер FB 2.5
Следующая тема: Новая статья: Параллельное чтение данных в СУБД Firebird
Переход к форуму:
  


Текущее время: Tue May 14 05:53:44 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00906 секунд