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

194

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

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


Общий SQL

PostgreSQL (wiki) (PGsearch)

MySQL

Oracle

MS SQL Server

Sybase SQL Anywhere

JDBC

Теги:
database
sql-server

27 ответов

29

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

  • 8
    +1 В любой области обычно есть сияющая звезда мудрости. Тебе повезло, если ты сможешь найти его. Для Оракула этот человек - Том Кайт.
  • 0
    Кто такой Том Кайт из SQL Server?
19

Этот парень отвечает на не-тот же запрос, вероятно, хорошее начало.

Скрытые возможности MySQL

13

И что-то для PostgreSQL: "Оптимизация производительности" на официальном wiki.

7

Если вы используете базу данных Oracle, это руководство также может помочь. http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm

6

Для MySQL настройка библии производительности Высокая производительность MySQL

5

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

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

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

3

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

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

3

Много полезных советов MySQL можно найти на http://www.mysqlperformanceblog.com/

3
2

Как определить медленные запущенные запросы с помощью SQL Profiler - это хороший учебник по определению медленных запросов. Это позволит сосредоточить свое внимание там, где это наиболее необходимо.

2

http://explain.depesz.com/

  • поможет вам интерпретировать вывод PostgreSQL EXPLAIN ANALYZE.

Стоит прочитать целую главу Советы по производительности в документах PostgreSQL.

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

Производительность SQL Server Достойный сайт для конкретной информации MSSQL.

2

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

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

Ресурсы SQL Server

1

Я был очень доволен, когда увидел такой способ быстро увидеть, что произошло с 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-Время - это фактическое время.
  • Буферы - это фактические буферы.

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

1
1

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

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

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

1

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

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

1

"Настройка производительности SQL" http://books.google.com/books?id=3H9CC54qYeEC&dq=sql+performance+tuning&printsec=frontcover&source=bn&hl=en&ei=1dDoSYmjMOrlnQfX-bSYBw&sa=X&oi=book_result&ct=result&resnum=4 охватывает большинство основных СУБД - как писать высокопроизводительные межплатформенные SQL-запросы и т.д..

0

Сайты 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) Ричарда Ниемика
0

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

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

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

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

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

0

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

Внутри SQL Server 7.0
Внутри SQL Server 2000
Внутри Microsoft SQL Server 2005
Внутренние Microsoft SQL Server 2008

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

Мне также нравятся блоги от Paul Randal и Kimberly Tripp на SQLSkills.com. Они полны твердой рекомендации SQL:

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

0

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

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

0
0

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

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

Вот отличная книга для MSSQL

Внутренние базы SQL Server

0

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню