ORDERED
Подсказка ORDERED подсказывает оптимизатору обращаться к таблицам в заданном порядке, в том порядке, который используется после инструкции FROM.
INDEX
Подсказка INDEX сообщает оптимизатору, что для выполнения данного запроса необходимо использовать один или несколько индексов.
ALL_ROWS
Данная подсказка позволяет настроить запрос с максимальной эффективностью.
FIRST_ROWS (n)
Подсказка говорит оптимизатору, что необходимо выбирать заданное количество первых строк.
USE_NL
Подсказка для оптимизатора задает использование вложенных циклов при объединении заданных таблиц.
USE_HASH
Подсказка для оптимизатора задает использование HASH, хэш-таблицы, тип объединения при объединении заданных таблиц.
Примеры
Использование подсказки USE_NL:
Рисунок 249. План запроса с USE_NL
Использование подсказки USE_HASH:
Рисунок 250. План запроса с USE_HASH
Использование подсказки USE_MERGE:
Рисунок 251. План запроса с USE_MERGE
Использование ORDERED:
Рисунок 252. План запроса ORDERED
Использование нескольких подсказок оптимизаторов одновременно:
Рисунок 253. План запроса USE_NL
• Подсказка по размеру имеет ограничение не более 255 символов.
• Если по базе данных не собрана статистика, то некоторые подсказки могут работать неэффективно.
• Для корректного использования подсказок необходимо, чтобы в базе данных был установлен режим (CHOOSE).
Какие подсказки лучше использовать в запросах с объединением таблиц?
В зависимости от ситуации можно использовать USE_HASH, USE_NL.
Какие подсказки лучше использовать, когда важно сначала получить первые строки запроса?
Для этого есть специальная подсказка FIRST_ROWS, FIRST_ROWS (1).
Какие подсказки лучше использовать, когда важны все строки запроса?
Для этого есть специальная подсказка ALL_ROWS.
Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы данной главы.
2. Поясните, для чего используется подсказка INDEX.
3. Поясните, для чего используется подсказка ORDERED.
4. Поясните, в каких случаях лучше использовать подсказку USE_MERGE.
Шаг 98. Задачи с собеседований в крупные компании и фирмы
Используя регулярные выражения, подсчитать количество букв О в слове МОЛОКО.
Решение:
Используя регулярные выражения, найти в таблице tтакие записи, где в колонке n только цифры.
Решение:
Есть таблица логов OPLOG (op VARCHAR2 (50), status VARCHAR2 (50), opdt DATE).
Примеры заполнения:
Найти, сколько времени выполнялась каждая операция.
Решение:
Даны две таблицы, созданные следующим образом:
Напишите запрос, который вернет строки из таблицы TEST_A, ID которых нет в таблице TEST_B, НЕ используя ключевого слова NOT.
Решение:
Вывести рабочие дни в следующем месяце, выходные не учитываются.
В таблице есть дублирующиеся записи, задача — удалить эти дубли, используя аналитические функции.
Решение:
Есть таблица:
Найти пять менеджеров с лучшими продажами в каждом отделе, учесть, что у менеджеров могут быть равные продажи.
Решение:
Есть таблицы:
Необходимо с помощью одного запроса внести названия таблиц в t_t, названия индексов в таблицу t_i из представления ALL_OBJECTS, где OWNER = SYS.
Решение:
Есть таблицы TEST_A и TEST_B:
Необходимо обновить данные в таблице TEST_B из TEST_А по идентификатору ID и добавить недостающие записи, сделать это с помощью одной команды.
Решение:
Необходимо размножить записи в таблице одним запросом.
Решение:
Шаг 99. Задачи для самостоятельного выполнения
• Выведите календарь с помощью запроса за 2020 год в формате «день, месяц, год»; исключите из календаря выходные и праздники.
• Выведите с помощью запроса таблицу синусов от 1 до 100, исключите из данной таблицы синусы нечетных чисел.
• Выведите данные из таблицы MAN в следующем формате: Имя, Фамилия; Фамилия; Фамилия3:
Максим Иванов; Алексеев; Максимов;
Андрей Фролов; Ростовский, то есть имя, а далее фамилии с этим именем через точку с запятой.
• Из таблицы «город» (CITY) подсчитайте количество городов с количеством населения> 1 000 000 и населением <1 000 000 одним запросом, общее количество городов.
• Есть таблица: валюта, курс, дата курса валюты. Найти среднее по курсам заданной валюты за 20 дней.
Читать дальше
Конец ознакомительного отрывка
Купить книгу