Какие существуют ресурсы для настройки производительности базы данных?

Какие хорошие ресурсы существуют для понимания настройки базы данных на основных движках и развития ваших знаний в этой области?

Идея этого вопроса состоит в том, чтобы собрать накапливаемое количество ресурсов, которые неизменно существуют, чтобы люди могли иметь "единый" магазин знаний о хороших, одобренных коллегами ресурсах.


Общий SQL

PostgreSQL (вики) (PGsearch)

MySQL

оракул

MS SQL Server

Sybase SQL Anywhere

JDBC

Ответ 1

Oracle очень собственный Tom Kyte имеет фантастический репозиторий для каждого типа проблем производительности, которые можно себе представить на http://asktom.oracle.com. Он обычно занимает время, чтобы воссоздать конкретные проблемы и дает очень подробные объяснения.

Ответ 6

Быстрая оптимизация PostgreSQL (оптимизация запросов)

Короткое чтение, много объясняет многое и "работает" - настоящий пример, который хорош для тех из нас, которые лучше учатся этому пути.

После просмотра ссылки wiki на PostgreSQL, я решил бы отредактировать это сообщение со ссылками для mysql/oracle docs, на самом деле не руководства по оптимизации, но оба являются хорошими ресурсами, особенно mysql. Для оптимизации и любых других функций настройки.

Ответ 9

Я бы добавил, что помимо того, что ваша база данных теоретически настроена, вы должны профилировать свое приложение, используя профилировщик, который отслеживает вызовы SQL.

Несмотря на ваши самые лучшие намерения, несколько неправильных звонков будут проникать в ваше приложение и часто вызывают 90% ваших проблем, связанных с производительностью.

Ответ 10

Если вы ищете ссылки для настройки производительности SQL Server, в Интернете есть абсолютная загрузка качественных ресурсов, начиная от белых документов по внедрению определенных технологий, таких как разделение, до отличных блогов, которые подробно описывают шаг за шагом инструкции о том, как производительность настраивает серверную платформу sql.

Бесшумный штекер следует: вы можете начать исследования, просмотрев область настройки производительности моего личного блога или для каких-либо конкретных требований/выпусков SQL Server, не стесняйтесь присылать мне электронное письмо.

Ресурсы SQL Server

Ответ 12

  • Книга: устранение неполадок производительности Oracle (Antognini Christian)

Ответ 16

Xaprb - обязательный к прочтению блог для администраторов баз данных MySQL. Автор написал книгу о высокопроизводительном MySQL

Для немногих счастливых людей, работающих с Sybase SQL Anywhere, я могу порекомендовать только блог Брека Картера и его Руководство разработчика по SQL Anywhere Studio 9.

Ответ 18

Вот еще одна высоко ценная книга, нейтральная к платформе:

Dan Tow SQL Tuning: создание оптимальных планов выполнения

Содержит некоторые конкретные примеры для Oracle, MS SQL и IBM DB2, но соответствующие методы должны применяться и к другим платформам.

Ответ 20

Я был очень доволен, когда увидел такой способ быстро увидеть, что произошло с SQL-запросом, который вы настраиваете под Oracle. Измените первый оператор SQL ниже на инструкцию SELECT и сохраните этот совет.

SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM DUAL;

SELECT * FROM TABLE(dbms_xplan.display_cursor( NULL, NULL, 'RUNSTATS_LAST'))
;

PLAN_TABLE_OUTPUT
-----------------------------------------------------
SQL_ID  5z36y0tq909a8, child number 0
-------------------------------------
SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM DUAL

Plan hash value: 272002086

---------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
---------------------------------------------------------------------------------------------
|   1 |  TABLE ACCESS FULL| DUAL |      1 |      1 |      1 |00:00:00.02 |       3 |      2 |
---------------------------------------------------------------------------------------------


12 rows selected.

Где:

  • E-Rows - это оцененные строки.
  • A-Строки - это фактические строки.
  • A-Время - это фактическое время.
  • Буферы - это фактические буферы.

Если оценочный план отличается от фактического исполнения на порядок, вы знаете, что у вас есть проблемы.

Ответ 21

Для людей, работающих с Oracle, я рекомендую эту ссылку.............

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm

Из моего опыта работы с базой данных Oracle я обнаружил, что наращиваю знания о том, как использовать SQL, как он работает и знает, что доступно (предоставленные функции, предложения, которые вы не знали, существовали или улучшались из последних версия) означает, что я трачу намного меньше времени на настройку sql.

Ответ 22

Я бы начал с понимания того, как работает база данных на фундаментальном уровне. Как данные хранятся на диске, что делает создание индекса, как работает оптимизация плана запросов, как кэшируются планы, когда истекает срок действия кэшированных планов.

Если вы можете зафиксировать все это в памяти, большинство советов по настройке кажется очевидным.

Здесь отличная книга для MSSQL

Внутренние компоненты SQL Server

Ответ 24

Иногда вам нужно знать, как исправить проблему после ее идентификации. Это покажет способы замены плохо работающего курсора с помощью операции на основе набора: http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

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

Ответ 25

Для Microsoft SQL я бы порекомендовал книги Kalen Delaney (et al) под названием "Внутри SQL Server". Они дают хорошее представление о внутренностях SQL Server, что позволяет читателям узнать, почему некоторые утверждения могут быть быстрее, чем другие.

Внутри SQL Server 7.0
Внутри SQL Server 2000
Внутри Microsoft SQL Server 2005
Внутренние компоненты Microsoft SQL Server 2008

Также есть книга, посвященная настройке производительности запросов SQL Server 2008: дистрибутив производительности SQL Server

Мне также нравятся блоги Пола Рэндала и Кимберли Триппа на сайте SQLSkills.com. Они полны твердых советов по SQL:

Пол блог
Кимберли блог

Ответ 26

Для настройки производительности SQL Server, Itzik Ben-Gan - легенда.

Здесь вы можете найти его многочисленные подробные книги, все с его обычным стилем эмпирических измерений, чтобы доказать его случай: http://tsql.solidq.com/books/index.htm

Если вы ищете самое быстрое решение проблемы с t-sql, добавьте слово "itzik" в свой поисковый запрос google.

Itzik Ben-Gan упоминается более 600 раз здесь, в stackoverflow, но я не мог поверить, что не нашел ни одного упоминания о он здесь по этому вопросу настройки производительности.

В качестве дополнительного ресурса вы также можете найти несколько видеороликов Itzik, говорящий о производительности, связанном здесь, на youtube.

Ответ 27

Сайты Oracle

Книги Oracle

  • Oracle Core: основные внутренние для администраторов баз данных и разработчиков Джонатан Льюис
  • Экспертная база данных Oracle Database: Oracle Database 9i, 10g и 11g Методы и решения для программирования Thomas Kyte.
  • SQL Tuning by Dan Tow
  • Oracle Database 11g Release 2 Советы по настройке производительности и методы (Oracle Press) Ричарда Ниемика