Конференция "Базы" » Почему-то долго выполняется запрос
 
  • Hadroran © (10.08.13 14:23) [0]
    Привет мастерам. Есть проблемка. Сделал запрос

    CREATE OR ALTER VIEW VD_STR(
       ID_CODE,
       ID_OPT_1,
       ID_OPT_2)
    AS
    SELECT STR.ID_CODE,
          VDOPT_1.VD_OPTCODE||'-'||VDOPT_1.VD_OPTNAME,
          VDOPT_2.VD_OPTCODE

    FROM D_STORAGE STR, VD_OPTION VDOPT_1, VD_OPTION VDOPT_2
    WHERE
         VDOPT_1.ID_CODE = STR.ID_OPT_1 and
         VDOPT_2.ID_CODE = STR.ID_OPT_2

    GROUP BY
          STR.ID_CODE,
          VDOPT_1.VD_OPTCODE||'-'||VDOPT_1.VD_OPTNAME,
          VDOPT_2.VD_OPTCODE
    ;


    Но при попытке просмотра данных зависает на 1 мин, хотя в D_STORAGE всего 3 записи а в VD_OPTION - 3000.
  • Hadroran © (10.08.13 14:25) [1]
    Прошу прощения... немного не так )))

    CREATE OR ALTER VIEW VD_STR(
       ID_CODE,
       ID_OPT_1,
       ID_OPT_2,
       VS_OPT_1,
       VS_OPT_2
       )
    AS
    SELECT DSTR.ID_CODE, DSTR.ID_OPT_1, DSTR.ID_OPT_2,
          VDOPT_1.VD_OPTCODE||'-'||VDOPT_1.VD_OPTNAME,
          VDOPT_2.VD_OPTCODE

    FROM D_STORAGE DSTR, VD_OPTION as VDOPT_1, VD_OPTION as VDOPT_2
    WHERE
         VDOPT_1.ID_CODE = DSTR.ID_OPT_1 and
         VDOPT_2.ID_CODE = DSTR.ID_OPT_2

    GROUP BY
          DSTR.ID_CODE, DSTR.ID_OPT_1, DSTR.ID_OPT_2,
          VDOPT_1.VD_OPTCODE||'-'||VDOPT_1.VD_OPTNAME,
          VDOPT_2.VD_OPTCODE
    ;

  • Cobalt © (11.08.13 07:16) [2]
    а план выполнения этой выборки какой?
  • sniknik © (11.08.13 22:09) [3]
    1. зачем нужна группировка если нет ни одной агрегатной функции? это вместо дистинкта? типа сначала "перемножить" таблицы, получить все возможные варианты, а после исключит повторяющиеся (1 таблица участвует 2 раза, значит такие гарантированно будут)
    > всего 3 записи а в VD_OPTION - 3000.
    а сколько возвращает если без группировки?

    2. почему объединение без джойнов в явном виде? база настолько устарела, что не позволяет?
  • clippership (12.08.13 11:22) [4]
    а что там с индексами?.. да и GROUP BY как-то не понятно - зачем здесь.
 
Конференция "Базы" » Почему-то долго выполняется запрос
Есть новые Нет новых   [119729   +15][b:0][p:0.001]