и посмотреть медиа
BookFlow - книги программирование
и посмотреть медиа
Лекции, книги, видеоуроки и доклады по программированию и технологиям.
Лекции, книги, видеоуроки и доклады по программированию и технологиям.
Канал Программирование {BookFlow} собирает лучшие лекции, книги по программированию, видеоуроки и доклады с IT-конференций. Новости технологий и материалы для самообучения в Telegram.
🔍 Мини-гайд: Индексы в PostgreSQL 1. Зачем нужны индексы? ▪️ Ускоряют SELECT, JOIN, ORDER BY, GROUP BY. ▪️Снижают нагрузку при выборках без полного сканирования таблицы. 2. Типы индексов ▪️B-tree (по умолчанию): точный поиск (=), диапазоны (), сортировки. CREATE INDEX idx_users_email ON users(email); ▪️Hash: для точного сравнения, но используется редко. ▪️GIN: массивы и полнотекстовый поиск. CREATE INDEX idx_docs_content ON documents USING GIN(to_tsvector('russian', content)); ▪️GiST: геоданные (PostGIS), диапазоны (int4range, tsrange). ▪️BRIN: очень большие таблицы, где данные «почти упорядочены» (по дате). CREATE INDEX idx_logs_created_at ON logs USING BRIN(created_at); 3. Практические советы ▪️Оценивайте запросы через EXPLAIN ANALYZE или pg_stat_statements. ▪️Не создавайте индекс «про запас»: каждый замедляет INSERT/UPDATE/DELETE. ▪️Составные индексы: порядок колонок критичен. CREATE INDEX idx_users_city_age ON users(city, age); ▪️Избегайте низкокардинальных колонок (boolean, ENUM) — индекс неэффективен, если фильтр возвращает большинство строк. ▪️Актуализируйте статистику: запускайте ANALYZE после больших загрузок/удалений. ▪️Удаляйте устаревшие индексы: DROP INDEX IF EXISTS idx_old_column; ▪️Используйте REINDEX для устранения фрагментации: REINDEX INDEX idx_users_email; 4. Подводные камни ▪️Бесполезный индекс: если WHERE возвращает ≥90% строк (например, is_active = true при 99% активных). ▪️Функциональные индексы: CREATE INDEX ON table ((LOWER(name))) сработает только при точном вызове WHERE LOWER(name) = 'ivan'. ▪️Блокировки: для создания без блокировки пишите: CREATE INDEX CONCURRENTLY idx_orders_status ON orders(status); Но этот процесс дольше и требует больше места. ▪️Индексы на внешних ключах: без них при удалении/обновлении родительской записи будут долгие сканы. Итог: Индексы — мощный инструмент, если их грамотно использовать. Анализируйте планы запросов, не создавайте лишних, следите за статистикой и удаляйте устаревшие. Сохрани, чтобы не забыть, и поделись с коллегами. А как ты выбираешь индексы у себя? Пиши в комментариях! ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!
Telegram-botUNISWAP 🦄trabajar conUniswapSwaps, reservas de liquidez, monitoreo de precios.
Servicios, herramientas y proyectos para trabajar con exploits.
Canal con versiones gratuitas Adobe Photoshop. Premiere Pro y otros programas.