
Всё просто. Тут можно найти «Основы разбора запросов для чайников» в случае PostgreSQL и замечательные невыдуманные примеры из продакшена о том, как не надо писать запросы на PostgreSQL и MySQL и что бывает, если их так всё-таки писать.
Рубрика «оптимизация запросов» - 3
Как писать кривые запросы с неоптимальным планом и заставить задуматься СУБД
2017-02-01 в 7:00, admin, рубрики: activerecord, explain, explain analyze, mysql, postgresql, query optimization, грабли повсюду, кто здесь, куда делась вся память, оптимизация запросовПроизводительность запросов в PostgreSQL – шаг за шагом
2017-01-05 в 19:38, admin, рубрики: postgresql, sql, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, илья космодемьянский, оптимизация запросов, метки: илья космодемьянский
Илья Космодемьянский (
hydrobiont )
Для начала сразу пару слов о том, о чем пойдет речь. Во-первых, что такое оптимизация запросов? Люди редко формулируют и, бывает так, что часто недооценивают понимание того, что они делают. Можно пытаться ускорить какой-то конкретный запрос, но это не обязательно будет оптимизацией. Мы немного на эту тему потеоретизируем, потом поговорим о том, с какого конца к этому вопросу подходить, когда начинать оптимизировать, как это делать, и как понять, что какой-то запрос или набор запросов никак нельзя оптимизировать – такие случаи тоже бывают, и тогда нужно просто переделывать. Как ни странно, я почти не буду приводить примеров того, как запросы оптимизировать, потому что даже 100 примеров не приблизят нас к разгадке.
Читать полностью »
«Распределение в запросе» или «избавляемся от перебора»
2016-12-22 в 15:54, admin, рубрики: sql, высокая производительность, оптимизация запросов, перебор, Программирование, распределение в запросеХороший перебор — это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.
В свое время, года 3 назад, возникла необходимость оптимизации конфигурации 1С и устранения ее узких мест в одной компании. Одним из таких узких мест оказался, казалось бы, безобидный, механизм распределения товаров в реализации по сериям. Суть в том, что строк распределялось достаточно много и было это очень медленно. Не миллионы за раз, конечно, но на это самое распределение для одного документа могло уходить до минуты.
Запрос специально привожу на T-SQL, т.к. думаю, что Хабравцам это будет ближе.
Читать полностью »
Оптимизация одного запроса с GROUP BY в PostgreSQL
2016-12-20 в 3:11, admin, рубрики: gist, group by, postgresql, sql, высокая производительность, индексы, оптимизация запросов, Программирование
Сразу скажу, что в этой статье нет универсального совета на все случаи, а рассмотрен случай оптимизации лишь небольшого класса запросов. Тем не менее такие запросы могут встречаться во многих проектах.
Сервис от компании Percona для создания оптимальной конфигурации MySQL серверов и анализа SQL-запросов
2015-12-19 в 19:11, admin, рубрики: mysql, mysql performance, mysql tricks, Администрирование баз данных, Веб-разработка, оптимизация запросовПредлагаю ознакомиться с сервисом от компании Percona, который позволяет правильно настроить конфигурацию MySQL сервера на основе конкретных условий использования и проанализировать используемые SQL-запросы на наличие ошибок и недочетов.

Анализ запросов в данном сервисе — не является заменой команде EXPLAIN, которая ориентирована на анализ производительности запроса, а является скорее дополнением, которое анализирует запрос с точки зрения его синтаксиса.
Изобретая велосипед или поиск отсутствующего значения ID в MySQL таблице
2014-06-30 в 8:29, admin, рубрики: mysql, оптимизация запросов, Программирование, метки: mysql, оптимизация запросов Разработчики и администраторы систем основанных на sql данных, наверняка, сталкивались с задачей — получить отсутствующее (пропущенное) значение в ряде id записей таблицы. Например номер договора, порядковый номер документа, телефонный номер, айпи-адрес и т.п. При работе с MySQL эта тривиальная задача непропорционально ресурсоемка.
Читать полностью »
Вы встречались с анализом леса популяции запросов SQL промышленного приложения (например, для оптимизации)?
2013-12-11 в 12:55, admin, рубрики: ERP-системы, sql, Анализ и проектирование систем, оптимизация запросов, метки: sql, оптимизация запросовХочу задать этот вопрос Хабровчанам.
Современные информационные системы строятся на различных видах СУБД и все же реляционные СУБД остаются самыми распространенными и используемыми. Интересная статистика на эту тему ТУТ и ТУТ.
-.png)
При разработке и модификации систем уровень формализации знаний аналитиков и разработчиков остается небольшим (автоматизации создания умных запросов или с учетом ряда четких правил) и чаще всего результирующие SQL запросы написаны «нормально», «как привык», «так пишут у нас на фирме», а вопросы оптимизации остаются на этап выполнения запросов в СУБД и последующие этапы оптимизации (в худшем случае ждут, когда все начинает тормозить).
Объем ручного кода остается большим даже несмотря на Читать полностью »
Что нового в SQLite (2013)?
2013-09-10 в 15:38, admin, рубрики: sql, sqlite, Администрирование баз данных, базы данных, индексация, оптимизация запросов, разработка, метки: sqlite, базы данных, индексация, оптимизация запросовВ последнем обновлении SQLite планировщик запросов претерпел серьезные изменения и отныне зовется Планировщик Запросов Следующего Поколения. Мы решили сделать небольшой обзор нового планировщика и некоторых других значительных обновлений SQLite в текущем году. Новый функционал может оказаться полезным разработчикам.
Индексация неатомарных атрибутов
2013-06-14 в 4:56, admin, рубрики: cache, dbms cache, intersystems cache, nosql, OODB, sql, Блог компании InterSystems, высокая производительность, ооп, оптимизация запросов, субд Caché, метки: cache, dbms cache, InterSystems cache, nosql, OODB, sql, высокая производительность, ооп, оптимизация запросов, субд CachéЦитаты из википедии (1NF):
Каждое пересечение строки и столбца содержит ровно одно значение из соответствующего домена (и больше ничего).
Одно и то же значение может быть атомарным или неатомарным в зависимости от смысла этого значения. Например, значение «4286» является
- атомарным, если его смысл — «пин-код кредитной карты» (при разбиении на части или переупорядочивании смысл теряется)
- неатомарным, если его смысл — «набор цифр» (при разбиении на части или переупорядочивании смысл не теряется)
В данной статье будут рассмотрены стандартные способы ускорения SQL-запросов по таким полям, как строка, дата, простой список (в формате $LB), коллекции-cписки и коллекции-массивы.
Оглавление:

