и посмотреть медиа
Data analysis - DA SQL
и посмотреть медиа
Анализ данных: SQL, Python.
Анализ данных: SQL, Python.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Про анализ данных: базы данных, SQL, Python и другое для аналитиков.
Hints (Хинты) в SQL Хинты - это специальные "подсказки", которые добавляются в SQL-запросы, чтобы влиять на поведение оптимизатора СУБД. Они позволяют помочь СУБД в выборе наиболее производительного варианта выполнения запроса в случае, если способ по умолчанию кажется не самым оптимальным. Хинты прописываются сразу после SELECT следующим образом: SELECT /*+ HINT */ column_1, column_2... Например, как я уже упоминал ранее, таким способом можно влиять на выполнение индексов в SQL-запросе. Условно, если мы создали такой индекс CREATE INDEX idx_user_name ON users (name) который при выполнении такого запроса SELECT * FROM USERS WHERE NAME = 'IVAN' не хочет выполняться, то можно СУБД заставить это сделать: SELECT /*+ INDEX(users idx_user_name) */ * FROM USERS WHERE NAME = 'IVAN' Удостовериться в выполнении индекса, да и вообще в целом посмотреть, работают ли хинты и по какой логике выполняется тот или иной запрос, можно с помощью EXPLAIN PLAN: EXPLAIN PLAN FOR SELECT /*+ INDEX(users idx_user_name) */ * FROM USERS WHERE NAME = 'IVAN'; --Отображение результата (oracle): SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY) -- или DBMS_XPLAN.DISPLAY_CURSOR Выполнение такого запроса выведет таблицу с информацией о том, выполняются ли хинты, какие операции задействованы в запросе, какая у них производительность и т.п. Подробнее об EXPLAIN PLAN и о том, как работать с такой таблицей, я расскажу чуть позже. Бывает много разных хинтов, вот некоторые из них: ▶️/*+ INDEX(table index) */ Принудительное использование индекса ▶️/*+ NO_INDEX(table index) */ Запрет использования индекса ▶️/*+ USE_NL(table_1 table_2) */ Вложенные циклы (Nested Loops). Может ускорить работу джоинов, когда одна таблица очень маленькая ▶️/*+ USE_HASH(table_1 table_2) */ Хэш-соединение. Может ускорить работу джоинов, когда таблицы большие ▶️/*+ PARALLEL(table) */ Параллельное выполнение. Может ускорить выполнение запроса в обмен на более высокое использование CPU. ▶️/*+ NO_PARALLEL(table) */ Запрет на параллельное выполнение. Напротив, экономится CPU, но запрос может выполняться медленнее. ▶️/*+ FIRST_ROWS(n) */ Позволяет быстрее возвращать первые строки, но может увеличить общее время выполнения. Работает, если до этого создан индекс. ▶️/*+ CACHE(table) */ Кэширование таблицы в памяти. Если таблица часто используется, то это может помочь быстрее получать к ней доступ. ▶️/*+ NOCACHE(table) */ Отмена кэширования таблицы. Если таблица большая и редко используется, то можно запретить её кэшировать для экономии памяти.
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!