Если вам не нужно создавать целую таблицу для некоторых вычислений, то вы можете создать временную таблицу, как раз об этом вы узнаете в этом посте:
• Создание временной таблицы
• Обновление данных в таблице
• Удаление временной таблицы
Временные таблицы упрощают работу с временными данными в сложных SQL-запросах.
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20🤝7👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Vanna AI — нейросеть, которая позволяет пользователям взаимодействовать с базами данных с помощью простого языка, автоматически переводя запросы на SQL.
📌 Ссылочка: https://vanna.ai/
➡️ SQL Ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5
Когда мы работаем с большими таблицами в SQL, использование индексов может значительно ускорить выполнение запросов, но их неправильное применение часто приводит к обратному эффекту.
Во-первых не всегда полезно устанавливать индекс, на каждый столбец этого делать уж точно не стоит. Каждый раз, когда мы используем
INSERT, UPDATE или DELETE, СУБД обновляет все индексы, что увеличивает затраты на производительность.Оптимальным решением будет индексировать только ключевые столбцы, часто используемые в фильтрах
WHERE или JOIN.-- Пример: индексирование часто используемого столбца
CREATE INDEX idx_user_age ON users(age);
-- Избыточный индекс на редко используемый столбец
CREATE INDEX idx_user_gender ON users(gender);
B-Tree и Hash-индексы. Стандартный B-Tree индекс эффективен для сортировки и диапазонных запросов (например,
BETWEEN). Но для точных соответствий = Hash-индексы могут быть предпочтительнее:-- B-Tree индекс для диапазонных значений
CREATE INDEX idx_order_date ON orders(order_date);
-- Hash-индекс для точного поиска
CREATE INDEX idx_product_id_hash ON products USING HASH (product_id);
И еще момент, если у нас выходит сложный запрос
WHERE, то важно учитывать порядок полей. Например, индекс на (col1, col2) будет эффективен, если col1 используется в фильтре или сортировке перед col2.-- Создаем композитный индекс
CREATE INDEX idx_comp_col1_col2 ON table_name(col1, col2);
-- Запрос, использующий оба поля индекса
SELECT * FROM table_name WHERE col1 = 'value' AND col2 = 'value';
-- Запрос, где используется только col2, неэффективен
SELECT * FROM table_name WHERE col2 = 'value';
В последнем запросе композитный индекс не будет использоваться оптимально, если col2 идет вторым в индексе.
Ставь 🔥 за полезный кусок знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥11
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥12🤝8
📖 SQL Библия пользователя
⬇️ Cкачать книгу
➡️ SQL Ready | #книга
Книга представляет собой уникальный практический справочник, разработанный специально для пользователей баз данных. Она подойдет и для начинающих, так и для профессионалов.Автор: Алекс К. Борис Т.
Год: 2010
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Если у вас появились повторяющиеся записи в таблицах, но вам это не нужно, то воспользуйтесь слайдами сверху для устранения лишних строк.
В посте мы разбираем:
• Составление подзапроса дубликатов
• Удаление дубликатов с помощью временных данных
• Удаление при помощи соединения
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤝8👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Learn DB — онлайн курсы и учебник по SQL. В нем находятся бесплатные и платные материалы, для новичков и профессионалов. Курс разбит на небольшие блоки, после каждого блока знания закрепляются
📌 Ссылочка: learndb.ru
➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4🤝3
1. Использование индексов — Создание индексов на часто используемые столбцы ускоряет выборку данных, но индексирование всех столбцов замедлит операции вставки, обновления и удаления:
CREATE INDEX idx_user_age ON users(age);
2. Избегание SELECT * — Использование SELECT * загружает все столбцы поэтому лучше указывать конкретные столбцы:
SELECT name, age FROM users WHERE city = 'New York';
3. Композитные индексы — Индексы, содержащие несколько столбцов, полезны для сложных фильтров, но порядок полей в индексе важен для эффективности:
CREATE INDEX idx_comp_city_age ON users(city, age);
Ставь 🔥 если понравился пост
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤝4
📖 SQL-запросы для простых смертных
⬇️ Cкачать книгу
➡️ SQL Ready | #книга
Данная книга предоставляет вам шанс изучить основы проектирования в понятной и хорошо написанной форме. Затем необходимо понять, когда и как приспособить простое решение к конкретной СУБД и конкретной реализации SQLАвтор: Майкл Х. Джон В.
Год: 2003
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5🤝4