2323 читали · 2 года назад
Использование хинтов в SQL запросах
Выполняя любую команду SQL, каждая СУБД старается выполнить её максимально эффективно. В каждой СУБД есть «оптимизатор», то есть механизм, принимающий решение как команда будет выполнена максимально эффективным образом. Строится план. Мы можем влиять на план выполнения запроса с помощью подсказок (хинтов), оставляя их прямо в SQL-коде. Если на одной из таблиц, участвующих в SQL-запросе есть индекс для какого-то столбца, значения которого используются во WHERE или в ON, то не обязательно, что он будет...
1049 читали · 6 лет назад
Печеньки от Oracle. Нарастающий итог и вклад
В Oracle SQL есть замечательный класс аналитических функций. Генератор данных и задача Предположим, у нас есть некая последовательность значений. Генерируем ее с помощью иерархического запроса: select level as x from dual connect by level <= 5 ; 1 2 3 4 5 Теперь мы хотели бы посчитать нарастающий итог, т.е. на каждой строке получить сумму всех предыдущих. Эта задача актуальна, например, для визуализации динамики суммарной выручки магазина за отчетный период по зафиксированным значениям дневной выручки...