Thursday, December 12, 2013

Большой план

Бывают вот такие планы SQL-запросов для Firebird. А сам запрос на 5 страниц :)


PLAN JOIN (X1 INDEX (IDX_XECVC805), CITY INDEX (XECVC80_RK108_2))
PLAN (GA_IS_NUMERIC NATURAL)
PLAN JOIN (JOIN (TMP DD INDEX (PK_DOC), TMP LL INDEX (LIN_EIDDOC)), TMP X2 INDEX (IDX_XECVC805))
PLAN (GA_IS_NUMERIC NATURAL)
PLAN JOIN (JOIN (TMP DD INDEX (PK_DOC), TMP LL INDEX (LIN_EIDDOC)), TMP X1 INDEX (IDX_XECVC805))
PLAN JOIN (XECINT INDEX (XECINT_OPNC), LIB INDEX (PK_LIB))
PLAN JOIN (JOIN (X1 INDEX (IDX_XECVC805), X2 INDEX (XECINT_SITE1)), X3 INDEX (XECINT_OPNC))
PLAN JOIN (JOIN (X1 INDEX (IDX_XECVC805), X2 INDEX (XECINT_SITE1)), X3 INDEX (XECINT_OPNC))
PLAN JOIN (X INDEX (XECINT_OPNC), LIB INDEX (PK_LIB))
PLAN JOIN (X INDEX (XECINT_OPNC), LIB INDEX (PK_LIB))
PLAN (XECDATE INDEX (XECDATE_OPNC))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (CFG INDEX (PK_CFG))
PLAN (CFG INDEX (PK_CFG))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN (LIB INDEX (PK_LIB))
PLAN SORT (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (FIND_DOCS_2_A NATURAL, FIND_DOCS_2_B NATURAL), D2 INDEX (PK_DOC)), E INDEX (PK_DOC2)), XECINT INDEX (XECINT_OPNC)), SPD INDEX (XECINT_OPNC)), SPD_NAME INDEX (PK_LIB)), PT INDEX (XECINT_OPNC)), PT_NAME INDEX (PK_LIB))JOIN (DOC INDEX (PK_DOC), X1 INDEX (XECINT_ONC)))

2 comments:

Андрей Германович said...

Конечно Firebird много может выдержать, но хотелось бы посмотреть на архитектуру БД и сам запрос. Просто интересно

Alexey Kovyazin said...

Это из одной БД работающей под ERP Аварда. Не очень большая БД, меньше 30Гб, схема БД классическая, в общем-то - таблица документов и настраиваемые справочники (они то и дают большое количество подзапросов).
Я не вижу особого смысла в персональном блоге эту тему обсуждать, если интересно, создайте тему на sql.ru в разделе Firebird.