Разработчики и администраторы систем основанных на sql данных, наверняка, сталкивались с задачей — получить отсутствующее (пропущенное) значение в ряде id записей таблицы. Например номер договора, порядковый номер документа, телефонный номер, айпи-адрес и т.п. При работе с MySQL эта тривиальная задача непропорционально ресурсоемка.
Читать полностью »
Метка «оптимизация запросов»
Изобретая велосипед или поиск отсутствующего значения ID в MySQL таблице
2014-06-30 в 8:29, admin, рубрики: mysql, оптимизация запросов, Программирование, метки: mysql, оптимизация запросовВы встречались с анализом леса популяции запросов SQL промышленного приложения (например, для оптимизации)?
2013-12-11 в 12:55, admin, рубрики: ERP-системы, sql, Анализ и проектирование систем, оптимизация запросов, метки: sql, оптимизация запросовХочу задать этот вопрос Хабровчанам.
Современные информационные системы строятся на различных видах СУБД и все же реляционные СУБД остаются самыми распространенными и используемыми. Интересная статистика на эту тему ТУТ и ТУТ.
При разработке и модификации систем уровень формализации знаний аналитиков и разработчиков остается небольшим (автоматизации создания умных запросов или с учетом ряда четких правил) и чаще всего результирующие 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писки и коллекции-массивы.
Оглавление:
Оптимизация сложных запросов MySQL
2012-10-09 в 9:50, admin, рубрики: mysql, оптимизация запросов, Песочница, метки: mysql, оптимизация запросовВведение
MySQL — весьма противоречивый продукт. С одной стороны, он имеет несравненное преимущество в скорости перед другими базами данных на простейших операциях/запросах. С другой стороны, он имеет настолько неразвитый (если не сказать недоразвитый) оптимизатор, что на сложных запросах проигрывает вчистую.
Прежде всего хотелось бы ограничить круг рассматриваемых проблем оптимизации «широкими» и большими таблицами. Скажем до 10m записей и размером до 20Gb, с большим количеством изменяемых запросов к ним. Если в вашей в таблице много миллионов записей, каждая размером по 100 байт, и пять несложных возможных запросов к ней — это статья не для Вас. Рассматривается движок MySQL innodb/percona — в дальнейшем просто MySQL.Читать полностью »
Учимся оптимизировать SQL запросы
2012-09-04 в 7:13, admin, рубрики: sql, Блог компании Luxoft, оптимизация запросов, Программирование, метки: sql, оптимизация запросов Цель этого поста рассказать про то, как я учусь понимать работу sql сервера, а не дать набор готовых инструкций.
Потому что именно через понимание того, как же это работает, можно написать оптимальный запрос. Когда же мы полагаемся на инструкции, советы, спец. средства или даже догадки, которые говорят нам: «в таком-то случае сделай так», но без понимания «почему и как это будет работать?» — это страшно, потому что это может сработать, да, сработать! Но, сработать только поначалу, а потом, когда в базу добавится миллион записей, все встанет колом, и, как на зло, во время презентации начальству.
Удивительно, но понимать такю сложную штуку, как SQL сервер, мне помогает… воображение.