![]() |
#6 |
Участник
|
Цитата:
Сообщение от mazzy
![]() Во-первых, с чего вы взяли, что так будет всегда и у всех.
Во-вторых, явные хинты требуют постоянного административного внимания. В-третьих, с какой стати у вас сиквел сам этого не понимает? Разберитесь именно с этим. В-четвертых, где-то в блогах, по-моему, Еременко писал, что условия после всех join'ов в Аксапте работает медленнее, чем условия внутри. - запрос состоит из inner join-ов, т.о. отсутствие записи в любой таблице ведет к пустому запросу - множество записей в markupTrans обозначено явно (TransTableId + TransRecId) - каждая запись в множестве markupTrans ссылается на 1 (и более) записей в FACTURETRANS_RU - FACTURETRANS_RU.MARKUPREFRECID=MARKUPTRANS.RECID (есть индекс по этому полю) - каждая запись из множества FACTURETRANS_RU ссылается на 1 запись в FACTUREJOUR_RU - это может быть одна и та же запись(FACTUREJOUR_RU.FACTUREID=FACTURETRANS_RU.FACTUREID, MODULE фиксирован - есть уникальный индекс) = Таком образом выбираются только необходимые данные от меньшего к большему (нет ибыточной выборки) - Не вижу более оптимального плана для данного запроса. 2) отсутствие хинтов,на мой взгляд, требует не менее пристального внимания DBA 3) поработаю над сиквелом. 4) буду знать, даже визуально приятнее читать условия к конкретному join (в общем то следовал схеме запроса DIS слоя) Цитата:
Цитата:
Цитата:
может быть - сиквел подобную подстановку сам делает.
__________________
--- SHiSHok Последний раз редактировалось SHiSHok; 17.08.2007 в 01:05. |
|
Теги |
axapta, faq, запрос (query), производительность |
|
|