Продовольственная безопасность — элемент национальной безопасности государства. Продовольственная безопасность является одной из главных целей аграрной и Читать полностью »
Рубрика «индексы»
Продовольственная безопасность. Часть I
2024-11-13 в 8:48, admin, рубрики: безопасность, Доктрина, Земля, Зерновые, индексы, масличные, население, политика, продукты, ресурсКак фрагментация индексов в SQL Server «подкладывает свинью» производительности, и что с этим делать
2024-11-12 в 10:16, admin, рубрики: sql server, индексы, фрагментация, фрагментация индексовПривет, Хабри его читатели!
Меня зовут Дарья Четыркина, я программист SQL в IT‑компании «Автомакон». Предлагаю обсудить проблему, которая может «съедать» производительность вашего SQL Server — фрагментация индексов, в конце статьи будут решения этой ситуации. Если вам важно, чтобы SQL Server всегда работал на полную мощность, эта статья — для вас.
Оптимизация бэкенда приложения с примерами на Symfony. Часть 1
2023-04-16 в 9:56, admin, рубрики: backend, N+1, php, sql, symfony, индексы, Клиентская оптимизация, оптимизация, Разработка веб-сайтовВсех приветствую! Я планирую создать цикл статей, демонстрирующий распространенные ошибки, влияющие на производительность приложения со стороны бэкенда, а также методы их поиска и устранения. Для этого, я написал приложение, в котором специально допустил различные ошибки, чтобы по порядку найти и исправить их.
В текущей статье, рассмотрим темы - n+1, пагинация и индексы. Приятного чтения!
Описание приложения
Базы данных: большой обзор типов и подходов. Доклад Яндекса
2020-10-06 в 7:59, admin, рубрики: acid, key-value storage, sql, Администрирование баз данных, Анализ и проектирование систем, Блог компании Яндекс, графовые базы данных, денормализация, индексы, нереляционные базы данных, нормализация, реляционные базы данных, репликация, хранение данных, шардингЭто конспект лекции Татьяны Денисовой — бэкенд-разработчика в Яндекс.Учебнике. Вы узнаете, какие бывают базы данных, какие их особенности важно помнить, как в работе с данными учитывать характеристики системы и планы масштабирования, в какую из тем нужно углубиться для решения конкретной задачи. А также как при возникновении багов определить, является ли работа с БД источником проблемы (и если да, то в какую сторону копать).
— О чем именно мы будем говорить? Не о примитивных селектах и джойнах — о них, я думаю, большинство из вас уже знает.
Читать полностью »
Яндекс покажет уровень самоизоляции населения в российских городах
2020-03-30 в 14:06, admin, рубрики: Геоинформационные сервисы, Здоровье гика, индексы, коронавирус, эпидемии, яндекс, яндекс.карты
Яндекс начал публиковать индекс самоизоляции населения на уровне российских городов. Он будет рассчитываться по шкале от нуля (минимальный) до пяти (максимальный). Читать полностью »
DBA: Находим бесполезные индексы
2020-02-19 в 6:45, admin, рубрики: btree, dba, postgresql, sql, Администрирование баз данных, базы данных, Блог компании Тензор, высокая производительность, индексыРегулярно сталкиваюсь с ситуацией, когда многие разработчики искренне полагают, что индекс в PostgreSQL — это такой швейцарский нож, который универсально помогает с любой проблемой производительности запроса. Достаточно добавить какой-нибудь новый индекс на таблицу или включить поле куда-нибудь в уже существующий, а дальше (магия-магия!) все запросы будут эффективно таким индексом пользоваться.
Во-первых, конечно, или не будут, или не эффективно, или не все. Во-вторых, лишние индексы только добавят проблем с производительностью при записи.
Чаще всего такие ситуации происходят при «долгоиграющей» разработке, когда делается не заказной продукт по модели «написал разово, отдал, забыл», а, как в нашем случае, создается сервис с длинным жизненным циклом.
Доработки происходят итеративно силами множества распределенных команд, которые бывают разнесены не только в пространстве, но и во времени. И тогда, не зная всей истории развития проекта или особенностей прикладного распределения данных в его БД, можно легко «напортачить» с индексами. Но соображения и проверочные запросы под катом позволяют заранее предсказывать и обнаруживать часть проблем:
- неиспользуемые индексы
- префиксные «клоны»
- timestamp «в середине»
- индексируемый boolean
- массивы в индексе
- NULL-мусор
Используем все возможности индексов в PostgreSQL
2019-05-24 в 8:11, admin, рубрики: postgresql, sql, Администрирование баз данных, Блог компании Mail.Ru Group, высокая производительность, индексы, никто не читает тегиВ мире Postgres индексы крайне важны для эффективной навигации по хранилищу базы данных (его называют «куча», heap). Postgres не поддерживает для него кластеризацию, и архитектура MVCC приводит к тому, что у вас накапливается много версий одного и того же кортежа. Поэтому очень важно уметь создавать и сопровождать эффективные индексы для поддержки приложений.
Предлагаю вашему вниманию несколько советов по оптимизации и улучшению использования индексов.
Примечание: показанные ниже запросы работают на не модифицированном образце базы данных pagila.
Читать полностью »
Как добавить индекс на нагруженной системе 24-7 без простоя?
2019-01-18 в 15:24, admin, рубрики: 24/7, highload, Microsoft SQL Server, sqlserver, Администрирование баз данных, Блог компании Отус, высокая доступность, индексы, миграция данныхДрузья, в конце января у нас стартует новый курс под названием «MS SQL Server разработчик». В преддверии его запуска мы попросили преподавателя курса, Кристину Кучерову, подготовить авторскую статью. Эта статья будет вам полезна, если у вас есть очень популярная таблица на проде с доступом 24/7 и вдруг неожиданно вы поняли, что срочно нужно добавить индекс и ничего не сломать в процессе.
Итак, что же делать? Традиционный способ CREATE INDEX WITH (ONLINE = ON) вам не подходит, потому что, например, вызывает падение системы и сердечный приступ вашего ДБА, все топы пристально следят за response time вашей системы и в случае увеличения оного приходят к вам и вашему ДБА на разговор по поводу завышенных цифр вашей компенсации за труд.
Скрипты и описанные приёмы были использованы на системе с нагрузкой 400К requests per minute, версии SQL Server 2012 и 2016 (Enterprise).
Есть два очень разных подхода создания индекса, которые используются в зависимости от размера таблицы.
Кейс № 1. Маленькая, но очень популярная таблица
Таблица 50 тыс. записей (небольшая), но очень популярная (несколько тысяч обращений в минуту). Вам нужен новый индекс и минимальное время простоя и блокировок на таблице.
В приложении весь доступ к БД только через процедуры.
При ошибке приложение сделает повторную попытку обратится к таблице.
Техники Bitmap-индекса Oracle
2018-12-13 в 16:17, admin, рубрики: dba, oracle, Администрирование баз данных, Блог компании Отус, индексы, ПрограммированиеИ снова добрый вечер!
Запускаем второй поток нашего нового курса «Реляционные СУБД», который мы чуть дотюнили по итогам первого прогона: дополнительные занятия по кластерам MySQL и Postgres, оказался востребованным docker и ещё разные «доработки напильником». Так что ждите открытые уроки (в которые вынесли часть старых тем) и интересные материалы. Сегодня мы покопаемся в техниках Oracle.
Поехали.
Bitmap-индексы Oracle сильно отличаются от стандартных индексов B-дерева. В bitmap-структурах создается двухмерный массив со столбцом для каждой строки в индексируемой таблице. Каждый столбец представляет отдельное значение в bitmap-индексе. Этот двухмерный массив показывает каждое значение индекса, умноженное на количество строк в этой таблице.
Oracle распаковывает bitmap (со скоростью извлечения строки) в буфер данных ОЗУ для быстрого сканирование на предмет совпадения значений. Эти совпадающие значения передаются Oracle в виде списка Row-ID, и значения Row-ID могут напрямую обращаться к необходимой информации.
Открытый вебинар «Индексы»
2018-09-25 в 14:57, admin, рубрики: Администрирование баз данных, базы данных, Блог компании Отус, индексы, индексы в рсубд, Программирование, реляционные базы данныхВсем привет!
В рамках нашего нового курса «Реляционные СУБД» создатель и преподаватель курса Алексей Цыкунов провёл открытый урок по типам индексов, об их преимуществах и недостатках. Разбиралось в каких случаях какие именно применяются, как они работают при операциях SELECT/INSRT/UPDATE/DELETE.