Оптимизация запросов - убираем корреляцию в запросах.
2011-07-22 16:41:30
Собственно нашел давно картинку, которая очень помогает в решении задач по оптимизации.
Например ...
+ развернуть текст сохранённая копия
Собственно нашел давно картинку, которая очень помогает в решении задач по оптимизации.
Например когда надо проверить (не)существование значений в другой таблице по заданным параметрам.
Самый простой вариант НЕ ПРАВИЛЬНЫХ запросов выглядит следующим образом
Вывести строки из t1, на которые есть ссылки в таблице t2
select * from t1
where exists(select * from t2 where t2.t1id = t1.id)
или на оборот,
select * from t1
where not exists(select * from t2 where t2.t1id = t1.id)
некоторые программисты начали пытаться ускорить код следующиими вариантами
select * from t1
where exists(select top 1 1 from t2 where t2.t1id = t1.id)
или на оборот,
select * from t1
where not exists(select top 1 1 from t2 where t2.t1id = t1.id)
Честно говоря я понимаю что есть ситуации когда без таких конструкций не обойтись, и в моей практике такое тоже встречалось. Но все же лучше пользоваться "умножения" таблиц
Получение строк, на которые есть ссылки в подчиненной таблице
select distinct t1.*
from t1 inner...
[content]
Тэги:
sql,
оптимизация
Сравнение производительности и стоимости IBM DB2 и Oracle Database
2011-07-20 18:51:00
Познакомился с интересной статьей "Comparing the Performance and Cost of IBM DB2 and Oracle ...
+ развернуть текст сохранённая копия
Познакомился с интересной статьей "Comparing the Performance and Cost of IBM DB2 and Oracle Database", где приводятся интересные аналитические выкладки по производительности и стоимости владения DB2 и Oracle Database. Очень рекомендую прочитать! Хотя статья и на английском, но читается достаточно легко даже со средним уровнем знания языка.На цифрах показано, что DB2 выгодней, особенно на системах большого масштаба - чем больше система, тем выгодней использовать DB2.
Но самое интересное это то, на основании чего написана статья. Это исселедование, проведенное Solitaire Interglobal, название которого я бы перевел примерно так:"Сравнение производительности реальных баз данных: IBM® DB2® против Oracle® Database и Microsoft SQL Server®". В оригинале название звучит как "Comparing Real World Database Performance: IBM® DB2® versus Oracle® Database and Microsoft SQL Server®".
По ссылке выше доступен полный отчет где гораздо больше данных, чем в статье, и где подробно объясняются методики расчета тех или иных показателей. На что хочется обратить особое внимание - это независимое исследование, а не продукт маркетинга IBM. Анализ показателей производился на реальных работающих системах, а не в лабораторных условиях с синтетическими тестами. Всего было подробно обследовано 9214 реальных систем. Всего же их количество систем, данные которых учитывались в исследовании - более 36 тысяч. Вот небольшой абзац, описывающий методологию проведения обследования.
"The approach taken by SIL uses a compilation and correlation of operational production behavior, using real systems and real business activities. For the purposes of this investigation, over 9,200 closely watched production environments were observed, recorded and analyzed to substantiate the findings, and supplemented by additional data from a total of over 36,600 systems. Some of these systems were used for partial comparison, providing key metrics, but lacking detailed, daily tracking. Nine thousand two hundred fourteen of the systems were closely watched. This means that SIL receives data showing daily granularity for these systems. Overall, over 3,467,000 individual data points were used from the 36,600+ systems to build the analysis."
Полагаю, что повода сомневать в том, что приведенные данные можно считать статистическими - нет. А цифры говорят сами за себя.
PS
К сожалению, в первой части сравнения есть только DB2 и Oracle, ибо SQL Server на *NIX системах не работает...

Тэги: db2, oracle, server, sql, производительность
SQL / Выпущен SQL Server 2008 R2 SP1, дополнительные инструменты для SQL Server Denali
2011-07-17 20:21:10
+ развернуть текст сохранённая копия
Для загрузки доступна финальная версия первого сервисного пакета исправлений для
SQL Server 2008 R2. Пакет SP1 содержит шесть вышедших ранее кумулятивных обновлений для сервера, плюс предлагает некоторые новые возможности.
Загрузить пакет исправлений для разных языков и редакций можно по следующей ссылке (версия для express-редакций).
Кроме того, для загрузки доступны инструменты для сервера баз данных следующего поколения
SQL Server Denali, который недавно был выпущен в очередной предварительной версии CTP3. Среди доступных инструментов следующие:
- Product Documentation for Microsoft SQL Server Code-Named “Denali” CTP3 (link);
- Express Core CTP 3 (link);
- PowerPivot for Microsoft Excel CTP 3 (link);
- Semantic Language Statistics CTP 3 (link);
- Report Builder CTP 3 (link);
- Reporting Services Add-in for SharePoint Technologies CTP 3 (link).
Кроме того, через средство Web Platform Installer доступна новая версия интегрированной среды разработки баз данных под кодовым именем Juneau (для замены SQL Server Management Studio).
Читать дальше →
Тэги: 2008, build, denali, juneau, microsoft, pack, powerpivot, report, reporting, server, service, sql
Вышли “Denali” CTP3 и SQL Server 2008 R2 SP1
2011-07-13 11:04:42
Выпущены “Denali” CTP3 и SQL Server 2008 R2 SP1. Краткое описание того, что вошло в эти обновления - ...
+ развернуть текст сохранённая копия
Выпущены “Denali” CTP3 и SQL Server 2008 R2 SP1. Краткое описание того, что вошло в эти обновления - здесь. Post from: http://shomin.infoВышли “Denali” CTP3 и SQL Server 2008 R2 SP1 Related posts:SQL Server code-named “Denali” Выпущен CTP1 новой версии SQL Server - “Denali”. Подробности здесь: code-named “Denali” web page CTP Books Online Post from: http://shomin.infoSQL Server [...]
Post from: http://shomin.info
Вышли “Denali” CTP3 и SQL Server 2008 R2 SP1
Related posts:
- SQL Server code-named “Denali” Выпущен CTP1 новой версии SQL Server - “Denali”. Подробности здесь: code-named “Denali” web page CTP Books Online Post from: http://shomin.infoSQL Server code-named “Denali”...
- Экзамены по новой версии SQL Server code-named Denali По новой версии SQL Server 'Denali' планируются к выпуску следующие экзамены: 70-460 PRO: Designing, Optimizing and Maintaining a Database Administrative Solution Using Microsoft SQL Server 11 70-461 PRO: Designing Database Solutions and Data Access Using Microsoft SQL Server 11 70-586 TS: Microsoft SQL Server 11, Implementation and Maintenance 70-587 TS:...
- Вышел Cumulative update package 3 for SQL Server 2008 19 января Microsoft выпустил Cumulative update package 3 for SQL Server 2008. Детали обновления можно посмотреть здесь. Post from: http://shomin.infoВышел Cumulative update package 3 for SQL Server 2008...
Тэги: microsoft, server, sql, новость
SQL / Второе соревнование по CUBRID. Поиск решения
2011-07-08 22:34:30
Многие наверняка слышали, что open source проект CUBRID решил устроить конкурс, а так как время ...
+ развернуть текст сохранённая копия
Многие наверняка слышали, что open source проект CUBRID решил устроить конкурс, а так как время сдачи работ уже завершилось, я расскажу вам о том как решал конкурсное задание, какой способ использовал и с какими особенностями СУБД CUBRID столкнулся.
Задание (примерное)
Дана БД, которая состоит из таблиц, содержащих строго определенные типы столбцов:
VARCHAR, CHAR, STRING, INT, SMALLINT, BIGINT, NUMERIC, FLOAT, DOUBLE, DATE, TIME, DATETIME и TIMESTAMP.
Требуется найти наиболее часто встречаемое в БД не числовое значение (то, которое состоит не только из цифр) и число его использований. Ответ надо записать в таблицу results. И все (это вкратце, более подробно читайте на странице конкурса).
Читать дальше →
Тэги: cubrid, java, php, solution, sql