主要なエンジンでのデータベースチューニングを理解し、その分野で知識を深めるための優れたリソースは何ですか
この質問のアイデアは、常に存在するリソースの小屋の負荷を収集することです。これにより、人々は、優れたピア承認済みリソースの「ワンストップ」ナレッジショップを持つことができます。
一般的なSQL
PostgreSQL( wiki )( PGsearch )
MySQL
Oracle
MS SQL Server
Sybase SQL Anywhere
[〜#〜] jdbc [〜#〜]
オラクル独自のTom Kyteには、 http://asktom.Oracle.com で考えられるあらゆるタイプのパフォーマンス問題に関する素晴らしいリポジトリがあります。彼は通常、特定の問題を再現するのに時間がかかり、非常に詳細な説明をします。
よくない質問に対するこの人の答えは、おそらく良いスタートです。
そして、PostgreSQL用の何か: "Performance Optimization" 公式の wiki で。
Oracleデータベースを使用している場合、このガイドも役立ちます。 http://download.Oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm
MySQLの場合、「bible」のパフォーマンスチューニングは High Performance MySQL です。
クイックPostgreSQL最適化 (クエリ最適化)
短い読み物は、多くのことをうまく説明し、その方法をよりよく学ぶ私たちにとって良い例である実際の例を「機能させます」。
PostgreSQLへのWikiリンクを確認した後、この投稿を mysql / Oracle docsへのリンクで編集すると思いました。具体的には最適化ガイドではありませんが、特に両方が優れたリソースです。 mysqlのもの。最適化およびその他のチューニング機能用。
SOには良いものがあります: クエリの説明計画をどのように解釈しますか?
データベースを理論的に調整することに加えて、SQL呼び出しを追跡するプロファイラーを使用してアプリケーションのプロファイルを作成する必要があることを追加します。
最善の意図にもかかわらず、いくつかの悪い呼び出しがアプリケーションに潜入し、多くの場合、パフォーマンス関連の問題の90%を引き起こします。
MySQL固有の多くの優れたヒントが http://www.mysqlperformanceblog.com/ にあります。
SQL Serverのパフォーマンス MSSQL固有の情報に適したサイト。
SQL Server固有のパフォーマンスチューニングリファレンスを探している場合は、パーティション分割などの特定のテクノロジの実装に関するホワイトペーパーから、パフォーマンスチューニングの方法を段階的に説明した優れたブログに至るまで、オンラインで入手可能な品質リソースの絶対的な負荷がありますSQLサーバープラットフォーム。
恥知らずなプラグインが続きます。個人のブログのパフォーマンスチューニングエリアを確認するか、特定のSQL Serverの要件/問題について気軽にメールを送信して、調査を開始できます。
SQLプロファイラを使用して実行速度の遅いクエリを識別する方法 は、実行速度の遅いクエリを識別する方法に関する優れたチュートリアルです。これにより、最も必要な場所に注意を集中させることができます。
PostgreSQLドキュメントの パフォーマンスのヒント の章全体を読む価値があります。
SQL Serverの場合、主に次のものを使用します。
Xaprb は、MySQL DBAの必読のブログです。著者は 高性能MySQL に関する本を書いています
Sybase SQL Anywhereを使用して作業している幸せな人には、 Breck Carterのブログ と彼の SQL Anywhere Studio 9開発者ガイド のみをお勧めします。
プラットフォームに中立な別の著名な本を次に示します。
ダン・トウの SQLチューニング:最適な実行計画の生成
Oracle、MS SQL、およびIBM DB2の特定の例が含まれていますが、関連する手法は他のプラットフォームにも適用する必要があります。
「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 =主要なDBMSのほとんどをカバー-高性能なクロスプラットフォームSQLクエリなどの記述方法.
OracleでチューニングしているSQLステートメントで何が起こったのかをすばやく確認するこの方法を見たとき、私はかなり幸せでした。以下の最初の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.
どこ:
推定された計画が実際の実行とは桁違いに異なる場合、問題があることがわかります。
問題が特定されたら、その修正方法を知る必要がある場合があります。これは、パフォーマンスの悪いカーソルをセットベースの操作に置き換える方法を示します。 http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them
これはSQL Serverに固有のものでしたが、多くの手法は他のデータベースにも影響する可能性があります。
SQL Serverのパフォーマンスチューニングに関しては、Itzik Ben-Ganは伝説です。
彼の多くの詳細な本をここで見つけることができます、すべて彼のケースを証明するために彼の通常のスタイルの経験的測定で: http://tsql.solidq.com/books/index.htm
T-SQLの問題に対する最速の解決策を探しているなら、Google検索語に「itzik」という単語を追加してください。
Itzik Ben-Ganは stackoverflowで600回以上 に言及されましたが、このパフォーマンスチューニングの質問で彼に関する言及が1つも見つからないとは信じられませんでした。
追加のリソースとして、 YouTubeでパフォーマンス関連のものについて話しているItzik のビデオを見つけることもできます。
Oracleの場合、- コストベースのOracle:Fundamentals by Jonathan Lewis 。
まず、基本的なレベルでデータベースがどのように機能するかを理解することから始めます。データをディスクに保存する方法、インデックスを作成する方法、クエリプランの最適化の仕組み、プランをキャッシュする方法、キャッシュするプランの有効期限。
すべてをメモリにコミットできれば、チューニングに関するほとんどのアドバイスは明らかです。
MSSQLの素晴らしい本はこちら
Microsoft SQLについては、Kalen Delaney(他)の「Inside SQL Server」という本をお勧めします。 SQL Serverの内部構造に関する優れた洞察を提供するため、読者は特定のステートメントが他のステートメントよりも高速である理由を学習できます。
SQL Server 7.0内
SQL Server 2000内
Microsoft SQL Server 2005内
Microsoft SQL Server 2008 Internals
SQL Server 2008クエリのパフォーマンスチューニングに関する本もあります。 SQL Server Performance Tuning Distilled
また、SQLSkills.comのPaul RandalとKimberly Trippのブログも気に入っています。充実したSQLアドバイスが満載です。
Oracleで作業している人には、このリンクをお勧めします.............
http://download.Oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm
Oracleデータベース開発の経験から、SQLの使用方法、その動作方法、利用可能なもの(提供されている関数、前のバージョンから存在または強化されていなかった句)の知識を構築することは、 SQLの調整に費やす時間が大幅に短縮されました。
Oracleサイト
Oracleブック