У меня есть следующая таблица для хранения документов. Документ может быть либо книгой с несколькими страницами, нумерацией страниц, начиная с 0 или документа с одной страницей.Улучшение производительности запроса
Category
Title
PageNo - integer
LineNo integer
Key
Value
Мне нужен запрос, который вытягивает все ключи из таблицы, которые принадлежат к одной странице документов и category1.
У меня есть следующий запрос:
SELECT DISTINCT Key
FROM Materials
WHERE Category='Category1' and Key NOT IN
(SELECT DISTINCT Key
from Materials
WHERE Category='Category1'
and PageNo>0)
Запрос отлично работает за исключением всех материалов, которые имеют более 1 страницы. Я хотел переписать запрос, чтобы улучшить его с точки зрения производительности, а также во избежание повторения кода, такого как ключевое слово DISTINCT и предложение WHERE, если это возможно. Я был бы признателен за любые указатели в правильном направлении.
Вы могли бы избежать повторения категории параметр/буквенное значение («category1») путем соотнесения во внутреннем запросе 'из материалов м2, где m2.Category = Materials.Category'. Но я думаю, что ответ «группа за» лучше в любом случае. – shawnt00