Тема: Выборки

Создал выборку. Время завершения пока не определил. Изменить не могу.
Результат созданой выборки: 

В запросе участвуют атрибуты версии. Кол-во атрибут - 2

SELECT DISTINCT

PVMain.prj_id,
PVMain.prjlist_id,

PV0.prjpar_string_value as PVF0,
PV1.prjpar_string_value as PVF1,

Projects.PRJ_ID,
Projects.PRJTREE_ID,
Projects.PRJTYPE_ID,
Projects.PRJ_NAME,
Projects.PRJ_NOTE,
Projects.PRJ_COMMENT,
Projects.PRJ_HAVEPRJ,
Projects.ROUTING_ID,
Prjtypes.PRJTYPE_NOTE,
Prjtypes.PRJTYPE_ICO,
Routing.ROUTING_NOTE,
PRJVERSION.PRJVER_ID,
PRJVERSION.start_state_id,
PRJVERSION.finish_state_id,
PRJVERSION.prjver_name,
PRJVERSION.prjver_number,
PRJVERSION.prjver_rem,
PRJVERSION.prjverstate_id,
PRJVERSION.PRJVER_ACT,
PRJVERSION.prjver_locked_by,
PRJVERSION.CREATOR,
PRJVERSION.CREATE_DATE,
PRJVERSION.CHANGER,
PRJVERSION.CHANGE_DATE,
PRJVERACTFILE.filetype_id,
PRJVERSTATES.prjverstate_name,
PRJVERSTATES.TCS_ACCESS,
LOCKUSR.user_name as LOCKUSR_NAME,
CR_USER.USER_NAME as CR_USERNAME
FROM
PRJPARVALUES_EX  PVMain
   LEFT JOIN PRJVERSION  ON  (PVMain.prjver_id = PRJVERSION.prjver_id)
   LEFT JOIN PROJECTS    ON PROJECTS.prj_id = PVMain.prj_id
   LEFT JOIN PRJTREEtype_ACCESS PTTA ON ((Projects.PRJTREETYPE_ID=PTTa.PRJTREETYPE_ID) AND (ptta.user_id=1325))
   LEFT JOIN PRJTREE PrjTree ON  (Projects.PRJTREE_ID = PrjTree.PRJTREE_ID)
left join PRJPARVALUES_EX PV0 on PV0.prjver_id=PVMain.prjver_id and PV0.prjpar_id=12
left join PRJPARVALUES_EX PV1 on PV1.prjver_id=PVMain.prjver_id and PV1.prjpar_id=114
   LEFT JOIN PRJTYPES Prjtypes         ON  (Projects.PRJTYPE_ID = Prjtypes.PRJTYPE_ID)
   LEFT JOIN ROUTING Routing           ON  (Projects.ROUTING_ID = Routing.ROUTING_ID)
   LEFT JOIN USERS CR_USER             ON  (PRJVERSION.CREATOR = CR_USER.USER_ID)
   LEFT JOIN USERS LOCKUSR             ON  (PRJVERSION.PRJVER_LOCKED_BY = LOCKUSR.USER_ID)
   LEFT JOIN PRJVERSTATES              ON  (PRJVERSION.PRJVERSTATE_ID = PRJVERSTATES.PRJVERSTATE_ID)
   LEFT JOIN PRJVERACTFILE             ON  (PRJVERSION.PRJVER_ID = PRJVERACTFILE.PRJVER_ID)
WHERE (ptta.TCS_ACCESS > 0) /*and PVMain.OBJECT_TYPE_ID in ('L','D','V')*/
and PVMain.PRJPAR_ID=12  and ((PVMain.prjpar_string_value collate Cyrillic_General_CI_AS)='16')  and ((PV0.prjpar_string_value collate Cyrillic_General_CI_AS)='16') AND (ptta.TCS_ACCESS > 0)
AND ((PRJTYPE_NOTE collate Cyrillic_General_CI_AS)='КД НА ОСНАСТКУ')
AND ((PRJVERSTATE_NAME collate Cyrillic_General_CI_AS)='СОГЛАСОВАНИЕ КД')

Убираю в SQL строку  and ((PVMain.prjpar_string_value collate Cyrillic_General_CI_AS)='16')  . Время запроса 0.1 с

Как мне быть с этой выборкой?
Спасибо

Re: Выборки

Время завершения пока не определил.

В смысле выполняется очень долго?  Не можете дождаться?

По самим выборкам.

1. В 6.0.1 выборки еще сильно доработаны, так что возможно эффект будет значительный (но сказать сложно, так как запрос там формируется по очень многим данным и сильно варьируется). В более старой версии судя по тому что вы пишете скорей всего выборка работала быстрее, но другие при этом работали сильно хуже, хотя честно говоря странно ( но допускаю).
2.  Уберите из выборки условия равно на параметр ( галочка есть, условия нет). Как поведет себя выборка (так понимаю должна летать)?  Наложите в сетке фильтр по атрибуту.
3. Можно свой набор данных написать, но думаю не стоит в данном случае.

По идее 2-вариант вам должен больше всего помочь (для версии 5.7 так понимаю?).

Re: Выборки

И как мне удалить, изменить существующую выборку. Она просто виснит.

Re: Выборки

И как мне удалить, изменить существующую выборку. Она просто виснит.

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

А что данная выборка реально не может  даже выполниться? Может БД стоит проверить? сомнительно что так долго может запрос выполняться, я бы не сказал что он сильно сложный.

Re: Выборки

Я думаю это проблема с нашим сервером, т.к. он стал выполняться. и время 62 сек. Что конечно много.

(изменено: Олег, 9 ноября 2011 13:12:12)

Re: Выборки

Добрый день!

Создал выборку документов.
Указал атрибуты версии и документа.

У документов имеются не активные версии.
И вот у этих не активных версий я не вижу значения атрибут документа.

Почему и Нельзя ли их как-то отобразить.
Или у меня что-то с базой.

При этом если устанвливаю условия по атрибутам документа, то не активные версии не видны....

Re: Выборки

cейчас разбираемся. А раньше все было?

Re: Выборки

Раньше я работал только с атрибутами версий.

запрос полученный из системы
left join PRJPARVALUES_EX PV0 on (PV0.prjver_id=PVMain.prjver_id and PV0.prjpar_id=12)
left join PRJPARVALUES_EX PV1 on (PV1.prjver_id=PVMain.prjver_id and PV1.prjpar_id=20)
left join PRJPARVALUES_EX PV2 on (PV2.prjver_id=PVMain.prjver_id and PV2.prjpar_id=74)
left join PRJPARVALUES_EX PV3 on (PV3.prjver_id=PVMain.prjver_id and PV3.prjpar_id=80)
left join PRJPARVALUES_EX PV4 on (PV4.prjver_id=PVMain.prjver_id and PV4.prjpar_id=72)
left join PRJPARVALUES_EX PV5 on (PV5.prjver_id=PVMain.prjver_id and PV5.prjpar_id=75)  и изменив его на

left join PRJPARVALUES_EX PV0 on (PV0.prjver_id=PVMain.prjver_id and PV0.prjpar_id=12) or (PV0.prj_id=PVMain.prj_id and PV0.prjpar_id=12) 
left join PRJPARVALUES_EX PV1 on (PV1.prjver_id=PVMain.prjver_id and PV1.prjpar_id=20) or (PV1.prj_id=PVMain.prj_id and PV1.prjpar_id=20)
left join PRJPARVALUES_EX PV2 on (PV2.prjver_id=PVMain.prjver_id and PV2.prjpar_id=74) or (PV2.prj_id=PVMain.prj_id and PV2.prjpar_id=74)
left join PRJPARVALUES_EX PV3 on (PV3.prjver_id=PVMain.prjver_id and PV3.prjpar_id=80) or (PV3.prj_id=PVMain.prj_id and PV3.prjpar_id=80)
left join PRJPARVALUES_EX PV4 on (PV4.prjver_id=PVMain.prjver_id and PV4.prjpar_id=72) or (PV4.prj_id=PVMain.prj_id and PV4.prjpar_id=72)
left join PRJPARVALUES_EX PV5 on (PV5.prjver_id=PVMain.prjver_id and PV5.prjpar_id=75) or (PV5.prj_id=PVMain.prj_id and PV5.prjpar_id=75)
все вроде работает лишь время ожидание увеличилось

Re: Выборки

да это понятно (хотя написано не совсем верно):) щас и изучаем то ли бага, то ли поломалось (переделок много делали в последнее время), то ли фича такая.
Ладно, будем разбираться.

Re: Выборки

Добрый день! Разобрались? Очень нужно....

Re: Выборки

Разбираемся, скорей всего исправим поведение, хотя такое было всегда, но оно не совсем логично. Но тут есть над чем подумать еще.

Re: Выборки

Сервис пак на 5.7 собран, обращайтесь за ним. Только опробуйте пожалуйста насколько повлияло на ваши выборки и, если можно, отпишитесь.

Re: Выборки

Хорошо. Проверю...Спасибо

Re: Выборки

Обновил.
Пока проблем нет. Выборки работают. Все выводится.
Скорость вроде не изменилась. Но я проверил когда все ушли.
Спасибо.