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


214

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

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


Общий SQL

PostgreSQL ( вики ) ( PGsearch )

MySQL

оракул

MS SQL Server

Sybase SQL Anywhere

JDBC

Ответы:


31

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






5

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

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

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




3

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

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



2

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

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

Ресурсы SQL Server









1

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

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


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-Rows - это реальные строки.
  • A-Time - это фактическое время.
  • Buffers - это актуальные буферы.

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


0

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

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

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


0

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

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

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

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



0

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

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


0

Для 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:

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


0

Для настройки производительности SQL Server Ицик Бен-Ган является легендой.

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

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

Ицик Бен-Ган упоминался здесь более 600 раз о стековом потоке , но я не мог поверить, что не нашел здесь ни одного упоминания о нем по этому вопросу настройки производительности.

В качестве дополнительного ресурса вы также можете найти на YouTube видео о том, как Ицик рассказывает о производительности .


0

Сайты Oracle

  1. 2-дневное руководство по настройке производительности http://docs.oracle.com/cd/E11882_01/server.112/e10822/toc.htm
  2. Руководство по настройке производительности http://docs.oracle.com/cd/E36909_01/server.1111/e16638/toc.htm

Книги Oracle

  1. Oracle Core: основные компоненты для администраторов баз данных и разработчиков Джонатан Льюис
  2. Эксперт Oracle Database Architecture: Oracle Database 9i, 10g и 11g Технологии и решения для программирования от Thomas Kyte
  3. Настройка SQL от Dan Tow
  4. Oracle Database 11g Release 2 Советы и приемы по настройке производительности (Oracle Press) Ричарда Ниемца
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.