2015-08-19 7 views
1

Я надеюсь увидеть кого-то, кто имеет опыт работы как с SQL Server, так и с DB2. Я думал, что попрошу посмотреть, может ли кто-нибудь прокомментировать это с головы. Ниже приведен список функций с SQL Server, которые я хотел бы делать с DB2. ОпцияПеревод концепций с SQL Server на DB2

  1. Конфигурации «оптимизирует для специальных нагрузок», которая сохраняет первое время планов запросов в качестве заглушек, чтобы избежать давления памяти из сверхпрочных разовых запросов (особенно полезно с экстремальным количеством параметризованного запросы). Что - если есть - эквивалент для DB2?

    На подобную ноте, что бы эквиваленты для параметров конфигурации SQL Server авто создание статистики, статистики автообновления и автоматического обновления статистики асинхронного. Что все имеет основополагающее значение для создания и поддержания надлежащей статистики, не вызывая слишком много накладных расходов в рабочее время?

  2. Индекс. Стандарт MSSQL для обслуживания индекса - REORGANIZE, когда фрагментация составляет от 5 до 35%, REBUILD (технически идентичная DROP & RECREATE), когда более 35%. Как важно, MSSQL поддерживает ONLINE-перестройки индекса, которая позволяет связанным данным получать доступ к операциям чтения/записи. Что-нибудь подобное с DB2?

  3. Статистика. В SQL Server стандартная процедура обновления статистики практически не используется в больших БД, так как коэффициент выборки слишком низок. Существует ли эквивалент UPDATE STATISTICS X WITH FULLSCAN в DB2 или аналогичное функционирование?

    В MSSQL операции индекса REBUILD также полностью воссоздают базовую статистику, что важно учитывать при выполнении операций обслуживания, чтобы избежать дублирования статистики. Лучший способ обновления статистики в более крупных БД также включает в себя таргетинг на них на статистической основе, поскольку полное обслуживание статистики таблицы может быть чрезвычайно тяжелым, когда, например, только некоторые из десятков статистических данных в таблице действительно необходимо обновить. Как это относится к DB2?

  4. Показать план выполнения - бесценный инструмент для анализа конкретных запросов и потенциальных проблем индекса/статистики с SQL Server. Какой был бы лучший аналогичный метод для использования с DB2 (объяснять инструменты? Или что-то еще)?

  5. Обнаружение узких мест: SQL Server имеет системные представления, такие как sys.dm_exec_query_stats и sys.dm_exec_sql_text, что делает его очень легко увидеть наиболее запустить и наиболее ресурсоемких (количество логических читает, например) запросы, которые нуждаются в настройке или правильной индексации. Есть ли эквивалентный запрос в DB2, который вы можете использовать, чтобы мгновенно распознавать проблемы в понятном и понятном виде?

Все эти вопросы представляют собой большую часть проблем, связанных с базами данных SQL Server. Я хотел бы воспользоваться этим ноу-хау и перевести его в DB2.

+0

Какая платформа и версия DB2? Это будет иметь значение. – Charles

+0

Linux. И извинился, даже не осознал, что это тоже актуально. Я просто *, что * используется для SQL Server. – Kahn

ответ

3

Я предполагаю, что речь идет о DB2 для Linux, Unix и Windows.

вариант конфигурация «оптимизировать для специальных рабочих нагрузок», которая сохраняет первое время планов запросов как окурки, чтобы избежать давления памяти из сверхпрочных разовых запросов (особенно полезно с экстремальным количеством параметризованных запросов). Что - если есть - эквивалент для DB2?

Нет эквивалента; DB2 вытеснит наименее недавно используемые планы из кеша пакетов. Можно включить автоматическое управление памятью для кеша пакета, где DB2 будет расти и сокращать его по требованию (с учетом, конечно, других потребителей памяти).

Что было бы эквивалентами для параметров конфигурации SQL Server автоматически создавать статистику, статистику автоматического обновления и статистику автоматического обновления async. Параметры

конфигурации базы данных auto_runstats and auto_stmt_stats

MSSQL стандарт для поддержания индекса является REORGANIZE при фрагментации составляет от 5 - 35%, REBUILD (технически идентичен DROP & воссоздают), когда более 35%. Как важно, MSSQL поддерживает перестройки индекса ONLINE

У вас есть возможность автоматической реорганизации таблиц (включая индексы); порог триггера не документирован. Кроме того, у вас есть утилита REORGCHK, которая вычисляет и печатает ряд статистических данных, которые позволяют вам определять, какие таблицы/индексы вы хотите реорганизовать вручную. Как реорганизация таблицы, так и индекса может выполняться онлайн с доступом только для чтения или с полным доступом.

Существует ли эквивалент СТАТИСТИКИ ОБНОВЛЕНИЯ X С FULLSCAN в DB2 или аналогичным образом рассмотренным? ... Лучший способ обновления статистики в более крупных БД также включает в себя таргетинг на них на статистической основе, поскольку полное обслуживание статистики таблицы может быть чрезвычайно тяжелым, когда, например, только несколько из десятков статистических данных на таблице действительно должны быть обновлено.

Вы можете настроить автоматическую сбор статистики для использования выборки или нет (параметр конфигурации auto_sampling). При обновлении статистики вручную с помощью утилиты RUNSTATS вы имеете полный контроль над размером выборки и статистикой для сбора.

Показать план выполнения является бесценным инструментом для анализа конкретных запросов и потенциальных проблем индекса/статистики с SQL Server. Что было бы лучшим подобный метод для использования с DB2

Вы оба GUI (Data Studio,, ​​Server Manager Data) и командной строки (db2expln, db2exfmt) инструменты для создания планов запросов, в том числе планов для заявлений, которые в кеше пакета или выполняются в настоящее время.

Обнаружение узких мест: SQL Server с видом системы, такими как sys.dm_exec_query_stats и sys.dm_exec_sql_text, которые делают его очень легко увидеть большинство перспективы, и наиболее ресурсоемким (количество логических операций чтения, например) запросы, которые нуждаются в настройке

Существует обширный набор процедур мониторинга, представлений и функций таблицы, напримерMONREPORT.DBSUMMARY(), TOP_DYNAMIC_SQL, SNAP_GET_DYN_SQL, MON_CURRENT_SQL, MON_CONNECTION_SUMMARY и т. Д.

+0

«Оптимизация для специальных рабочих нагрузок» звучит как концентратор операторов DB2, где некоторая часть запроса только компилируется один раз, а затем выполняется план запроса для подобных запросов. В качестве побочного эффекта в кеше пакета будет храниться намного меньше индивидуальных планов запросов. –

+0

Это замечательный материал. Конечно, поможет мне начать. Если у вас есть какие-либо другие соображения относительно общей оптимизации больших БД, специфичных для DB2, пожалуйста, делите их! – Kahn

Смежные вопросы