Использование «СОВЕТОВ» в sql-запросе

Прошу прощения, если я звучу глупо, но я не так давно использую подсказки sql, и я просматриваю некоторые обзоры глав для школы. У меня проблемы с тем, чтобы обернуться вокруг них.

Например, один вопрос, который я задал в оракуле в тестовой базе данных, которую я сделал, был «Показать первые 10% от общего числа аукционов за день». Мой ответ был (который сработал):

SELECT DAYOFWEEK, DAILY_TOTAL
FROM (
    SELECT T.DAYOFWEEK,
      SUM(AF.TOTAL_NUM_OF_AUCTIONS) AS DAILY_TOTAL,
      CUME_DIST() OVER (ORDER BY SUM(AF.TOTAL_NUM_OF_AUCTIONS) ASC) AS Percentile
    FROM TIME_DIM T, AUCT_FACT AF
    WHERE AF.TIME_ID = T.TIME_ID
    GROUP BY T.DAYOFWEEK)
WHERE Percentile > .9
ORDER BY Percentile DESC;

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

Любая помощь будет действительно оценена

=) спасибо ребята!


person Miwa    schedule 23.05.2011    source источник
comment
Этот запрос вообще работает? Встроенный вид имеет как аналитическую функцию, так и группировку. Я не думаю, что вы могли бы иметь оба.   -  person redcayuga    schedule 23.05.2011
comment
То, что вы говорите, ваш учитель сказал неправильно. Подсказки никогда не должны изменять логические результаты запроса (если бы они изменились, это было бы ошибкой).   -  person Jeffrey Kemp    schedule 24.05.2011


Ответы (1)


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

person suhprano    schedule 23.05.2011
comment
Благодарю вас! Я ценю ваш вклад. - person Miwa; 24.05.2011
comment
Итак, подсказки просто добавлены В SQL, они не меняют сам SQL, а сопровождают его, чтобы лучше определить вопрос? - person Miwa; 24.05.2011
comment
Подсказки не определяют вопрос лучше, они сообщают базе данных, как получить ответ. Запросы с подсказками — это как водить машину, игнорируя GPS-навигацию. Вам захочется сделать это только тогда, когда вы знаете, что можете сделать это лучше, чем ваш GPS. - person Martin Schapendonk; 24.05.2011