У меня есть запрос в firebird, я новичок в использовании firebird и index. Я хочу оптимизировать свой запрос с помощью индекса. Но я не знаю, как, вот мой запрос:Как использовать индекс в firebird
SELECT
a.TESTER,
a.LOT_ID,
/* DATEDIFF (SECOND FROM START_LOG_TIME TO ENDLOGTIME) AS ELAPSED_TIME */
b.TEST_DESC,
COUNT(TEST_DESC) AS TOTAL_DESC,
MIN(MEASUREMENT) AS MIN_MEASUREMENT,
AVG(MEASUREMENT) AS TOTAL_MEASUREMENT,
MAX(MEASUREMENT) AS MAX_MEASUREMENT,
AVG(LL) AS LL,
AVG(UL) AS UL,
SUM(IIF(MEASUREMENT<LL,1,0)) AS RESULT
FROM T_TABLE1 a
INNER JOIN T_TABLE2 b
ON a.ID = b.TBL1_ID
AND a.TESTER = b.TESTER
AND a.LOT_ID = b.LOT_ID
WHERE b.GRP = 'Contact'
GROUP BY
a.TESTER,
a.LOT_ID,
b.TEST_DESC
и T_TABLE2, я попытался создать индекс с именем TEST_DESC_IDX. Я создал индекс для поля TEST_DESC.
СПАСИБО за помощь!
Да, я уже создал индекс, но на этот раз. Я не знаю, как использовать индекс вместе с INNER JOIN и GROUP BY. Я получил некоторую ошибку, когда поставил PLAN в свой запрос. – aiipee
Обычно вы не заставляете движок использовать определенный индекс, но пусть оптимизатор выбирает лучший план, доступный в то время. Другими словами, двигатель автоматически использует лучшие доступные индексы. Вы используете предложение PLAN только в очень редких случаях. – jachguate