0
У меня есть этот запрос:IBM DB2 SQL оптимизации запросов
select DBSAITE.MITEM, DBSAITE.MPDSC, DBSAITE.MUTMS, MVSACPE.COSTUN, PCSACST.CSTTYAPP,
SUM(PCSACST.CSTBURD1 + PCSACST.CSTBURD2 + PCSACST.CSTLABOR +
PCSACST.CSTMAT + PCSACST.CSTSETUP + PCSACST.CSTEXTRN) as COSTO_STD
from MVSACPE, PCSACST, DBSAITE
WHERE PCSACST.CSTCOSC = MVSACPE.CODSOC
AND PCSACST.CSTITEM = MVSACPE.CODITM
AND MVSACPE.CODITM = DBSAITE.MITEM
AND DBSAITE.MCOSC = 'GRS'
AND MVSACPE.CODSOC = 'GRS23'
AND MVSACPE.DTPERI = '201512'
AND MVSACPE.CODMAG = 'ALL'
AND MVSACPE.CODCOS = 'MPR'
AND PCSACST.CSTDATE = '20150630'
AND PCSACST.CSTTYPE = 'SG'
GROUP BY DBSAITE.MITEM, DBSAITE.MPDSC, DBSAITE.MUTMS, MVSACPE.COSTUN,PCSACST.CSTTYAPP
я хотел бы, чтобы оптимизировать запрос некоторым образом, так как присоединиться работы с сотнями тысяч записей, и очень медленно (3 минуты).
Любые советы?
Вы выбираете данные из объединенных таблиц в своем операторе 'SELECT' и группируете их также. Вы не можете использовать 'EXISTS', если вы собираетесь извлекать данные из этих таблиц. 'EXISTS' проверяет только, существуют ли они ... ну ... существуют. Он ничего не возвращает. – Siyual
Возможно, вам захочется посмотреть, как индексируются эти таблицы. – Siyual
Существует что? Пожалуйста, опишите –