We may earn an affiliate commission when you visit our partners.
Course image
雅三津 比良野

【はじめに】

 Webシステムの性能確保に苦労された経験はありませんか?

開発環境では問題無かったのに本番運用が始まってから、オンラインのレスポンスの問題が表面化した経験はないでしょうか? あるいは、バッチ処理が思ったより時間が掛かってしまった経験はないでしょうか?

 システムの性能でボトルネックになるのはほとんどの場合、データベースサーバーです。

さらに調べてみるとデータベースサーバーのCPUやメモリは余裕があるのになぜか遅いということがよくあります。その理由の1つは、実行しているSQL文がH/Wリソースを十分に活用していないからなのです。では、そのSQL文をどうやって速くするのでしょうか・・・?

 データベースのチューニング作業は単純ではありません。どういう仕組みになっているのか、どういう目的でこの手順を行うのか、これらを理解せずにマニュアルの手順に従って作業しているだけではチューニングスキルはなかなか向上しません。

 チューニングの手法はRDBMS製品ごとに違いますが、原理的な考え方は同じです。このコースは、データベースサーバーのチューニング方法の原理原則が理解できるように努めています。

Read more

【はじめに】

 Webシステムの性能確保に苦労された経験はありませんか?

開発環境では問題無かったのに本番運用が始まってから、オンラインのレスポンスの問題が表面化した経験はないでしょうか? あるいは、バッチ処理が思ったより時間が掛かってしまった経験はないでしょうか?

 システムの性能でボトルネックになるのはほとんどの場合、データベースサーバーです。

さらに調べてみるとデータベースサーバーのCPUやメモリは余裕があるのになぜか遅いということがよくあります。その理由の1つは、実行しているSQL文がH/Wリソースを十分に活用していないからなのです。では、そのSQL文をどうやって速くするのでしょうか・・・?

 データベースのチューニング作業は単純ではありません。どういう仕組みになっているのか、どういう目的でこの手順を行うのか、これらを理解せずにマニュアルの手順に従って作業しているだけではチューニングスキルはなかなか向上しません。

 チューニングの手法はRDBMS製品ごとに違いますが、原理的な考え方は同じです。このコースは、データベースサーバーのチューニング方法の原理原則が理解できるように努めています。

  • 性能を評価するための検証環境

  • SQL文の動作の仕組み

  • SQLのチューニングの基本である、インデックスとテーブル結合の仕組み

  • 性能を考慮したSQL文の具体的な書き方

  • バッチ処理性能を向上させる手法

  • 安定した性能を確保するための設計・運用のポイント

【進め方】

  • 動画を見るだけでOK。アプリのインストールは不要です。

  • 解説を聞き、実際の作業イメージを掴みます。

【講座の内容】

本講座は、データベースのパフォーマンスチューニングの原理原則を解説する講座になります。下記のようなセクション構成になっています。

  1. コース全体の概要

  2. システム性能問題の現状確認

  3. 性能検証の環境・手順等の解説

  4. SQL文が動作する仕組みや用語の解説

  5. テーブルスキャンとインデックススキャンの解説

  6. テーブル結合とその他の方法の解説

  7. SQL文を書く際の注意事項を具体的例で解説

  8. バッチ処理性能を改善するための注意点を解説

  9. データベースシステムを設計・運用するにあたっての考慮点の解説

  10. パフォーマンスチューニング作業全般の注意点を整理

  11. コース全体のまとめと案内

パフォーマンスチューニング全般について知りたい方は最初からご視聴ください。

 SQL文のチューニングについて知りたい方は、セクション5~7を中心にご視聴ください。バッチ処理やデータベースの設計・運用について知りたい方はセクション8以降を中心にご視聴ください。

【この講座での学び】

  • Webシステムアプリケーション開発で性能を考慮したSQL文を書くヒントが得られます。

  • バッチ処理の性能を確保するためのヒントが得られます。

  • データベースサーバーが安定した性能を確保するために必要な運用設計のポイントが理解できます。

  • 大規模なデータベース環境を構築する際の設計指針を理解することができます。

ご興味が湧いた方は、下のカリキュラムやプレビュー動画もご覧ください。

実際にコースでお会いできることを楽しみにしています。

Enroll now

What's inside

Learning objectives

  • 性能検証についての実施時期や環境・評価指標について定義します
  • Sqlチューニングに必要な基礎知識・用語に理解します。
  • 性能を意識したsql文の書き方を取得します。
  • 性能を考慮したrdbms設計・運用指針について理解を深めます

Syllabus

はじめに
本コースの目標/習得できるスキル
本コースの進め方
講座内で使うUdemyの機能について
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides hints for writing SQL statements with performance in mind, which is essential for web system application development
Explores database design and operational considerations, which are crucial for database administrators to ensure system stability
Covers the principles of database performance tuning, which is a core skill for database engineers
Details how SQL statements operate and the terminology involved, which is helpful for SQL developers
Discusses considerations for designing and operating database systems, which is useful for database architects
Explains points to note when writing SQL statements with concrete examples, which is beneficial for database operations staff

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Dbパフォーマンスチューニングの基礎を学ぶ

learners say that this course, 「半日で学べるデータベースパフォーマンスチューニングのキホン」, offers a positive and concise introduction to the fundamental principles of database performance tuning. Students particularly appreciate the explanations of how SQL statements work, including index and join mechanisms, and the practical tips for writing efficient SQL. Many found it a helpful starting point, providing a solid foundation for tackling performance issues. Some mention that while the course covers batch processing and design/operation points, the depth is limited by its intended short duration ("half a day"), suggesting it's best suited for beginners or those needing a refresher on core concepts rather than experienced professionals seeking advanced techniques.
未経験者や初学者に最適な入門コース。
"DBのチューニング経験が全くなかったのですが、このコースで全体像を掴むことができました。"
"「半日で学べる」というタイトルの通り、短時間で効率的に基礎を抑えられます。"
"これからDBパフォーマンスについて学びたい人にとって、最初のステップとして非常におすすめできます。"
性能を意識したSQLの具体例が役立つ。
"性能改善につながるSQLの具体的な書き方のヒントがたくさん得られました。"
"WHERE句やJOIN、副問合せなど、実務で直面するSQLのチューニングポイントが詳しかったです。"
"いくつかの等価なSQL文の比較があり、どれが効率的か理解しやすかったです。"
DBチューニングの原理原則がよく理解できる。
"データベースパフォーマンスチューニングの基本的な考え方や原理原則が分かりやすく解説されていました。"
"SQLの実行計画やインデックスの仕組みなど、チューニングに必要な基礎知識を体系的に学べた点が良かったです。"
"なぜそのチューニングが必要なのか、目的を理解した上で作業を進めることの重要性が伝わりました。"
深掘りには別の教材が必要。
"基礎的な部分はカバーされていましたが、より高度なチューニング手法については触れられていませんでした。"
"タイトルの通り「キホン」を学ぶコースであり、網羅性や深い知識を得るには物足りないかもしれません。"
"経験者にとっては既知の内容が多い可能性があり、期待するレベルによっては浅く感じるかもしれません。"
理論中心でハンズオン要素が少ない。
"解説は丁寧でしたが、実際に手を動かして学ぶ演習がもう少しあるとより理解が深まったと思います。"
"動画を見るだけでOKとのことでしたが、簡単なクイズや確認問題があると学習効果が高まりそうです。"
"特定のRDBMSでの実行例などがもう少し具体的なレベルであると、実務への応用イメージが湧きやすかったです。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 半日で学べるデータベースパフォーマンスチューニングのキホン with these activities:
SQLの基礎知識を復習する
SQLの基礎を復習することで、コースで取り扱うSQLチューニングの概念をより深く理解できるようになります。
Browse courses on SQL
Show steps
  • SQLの基本的な構文を復習する
  • SELECT、INSERT、UPDATE、DELETE文を練習する
  • WHERE句、GROUP BY句、ORDER BY句の使い方を確認する
『詳解 データベース 第3版』を読む
データベースの基礎知識を習得し、コースで学ぶチューニング手法の背景にある理論を理解する。
View Melania on Amazon
Show steps
  • 書籍を購入または図書館で借りる
  • 書籍の目次を確認し、興味のある章から読み始める
  • 各章の例題を実際に試してみる
『SQLパフォーマンス詳解』を読む
SQLパフォーマンスの詳細な知識を習得し、コースで学ぶチューニング手法をより深く理解する。
View Melania on Amazon
Show steps
  • 書籍を購入または図書館で借りる
  • 書籍の目次を確認し、興味のある章から読み始める
  • 各章の例題を実際に試してみる
Four other activities
Expand to see all activities and additional details
Show all seven activities
SQLチューニング関連ツールとリソースのまとめ
SQLチューニングに役立つツールやオンラインリソースを収集し、整理することで、効率的な学習と問題解決を支援する。
Show steps
  • SQLチューニング関連のツールを調査する
  • オンラインのドキュメントやフォーラムを調査する
  • 収集した情報を整理し、リストを作成する
  • リストを共有可能な形式で保存する
SQLチューニングの練習問題を解く
SQLチューニングの練習問題を解くことで、コースで学んだ知識を実践的に活用する能力を高める。
Show steps
  • オンラインのSQL練習問題サイトを探す
  • コースで学んだ内容に関連する問題を選ぶ
  • 問題を解き、実行計画を確認する
  • 必要に応じてSQL文を書き換えて最適化する
SQLチューニングに関するブログ記事を書く
SQLチューニングに関する知識を整理し、ブログ記事として公開することで、理解を深めるとともに、他の学習者と知識を共有する。
Show steps
  • SQLチューニングに関するテーマを決める
  • コースの資料や参考書籍を参考に記事を構成する
  • 記事を執筆し、図やコード例を挿入する
  • 記事を校正し、ブログに投稿する
データベースのパフォーマンス改善プロジェクト
実際のデータベース環境でパフォーマンス改善プロジェクトを実施することで、コースで学んだ知識を実践的に応用し、問題解決能力を高める。
Show steps
  • パフォーマンスが低いSQLクエリを特定する
  • 実行計画を分析し、ボトルネックを特定する
  • インデックスの追加やSQL文の書き換えを行う
  • 改善効果を測定し、結果を評価する

Career center

Learners who complete 半日で学べるデータベースパフォーマンスチューニングのキホン will develop knowledge and skills that may be useful to these careers:
パフォーマンスエンジニア
パフォーマンスエンジニアは、システム全体のパフォーマンスを分析し、改善策を提案します。このコースは、データベースのパフォーマンスチューニングに焦点を当てているため、パフォーマンスエンジニアがデータベース関連のボトルネックを特定し、解決するために非常に役立ちます。SQL文の動作の仕組み、インデックスとテーブル結合の仕組み、性能を考慮したSQL文の書き方など、このコースで学ぶ内容は、パフォーマンスエンジニアがデータベースのパフォーマンスを最適化し、システム全体のパフォーマンスを向上させるために不可欠です。
データベースコンサルタント
データベースコンサルタントは、企業に対してデータベースに関する専門的なアドバイスやサポートを提供します。このコースは、データベースのパフォーマンスチューニングに関する原理原則を理解することで、データベースコンサルタントはクライアントに対してより効果的なソリューションを提供できるようになります。特に、SQLチューニングの基本であるインデックスとテーブル結合の仕組みを理解し、性能を考慮したSQL文の書き方を習得することは、クライアントのデータベースシステムのパフォーマンスを改善し、ビジネス価値を向上させるために不可欠です。
データベース管理者
データベース管理者は、組織のデータベースシステムの円滑な運用と保守を担当します。このコースを受講することで、データベースのパフォーマンスチューニングに関する原理原則を理解し、SQL文の最適化、インデックスの効率的な利用、テーブル結合の仕組みなど、データベース管理者が日常的に直面する課題に対する深い洞察を得ることができます。特に、システムの性能問題の現状確認や性能検証環境の構築、そして安定した性能を確保するための設計・運用のポイントは、データベース管理者がデータベースシステムを最適化し、効率的に管理するために不可欠な知識となります。
データベース開発者
データベース開発者は、データベースの設計、開発、実装、および保守を行います。このコースは、SQL文の動作の仕組みやテーブルスキャン、インデックススキャンの動作原理など、データベース開発者にとって重要な基礎知識を提供します。性能を考慮したSQL文の具体的な書き方やバッチ処理性能を向上させる手法を学ぶことで、データベース開発者はより効率的で高性能なデータベースシステムを構築できるようになります。特に、SQLチューニングの基本であるインデックスとテーブル結合の仕組みを理解することは、データベース開発者がSQL文を最適化し、パフォーマンスを向上させるために不可欠です。
ソリューションアーキテクト
ソリューションアーキテクトは、顧客のビジネスニーズに基づいて、最適な技術ソリューションを設計します。データベースは、多くのソリューションの中核となるコンポーネントであるため、ソリューションアーキテクトはデータベースのパフォーマンスについて十分な知識を持っている必要があります。この講座では、データベースサーバーのチューニング方法の原理原則、性能を考慮したRDBMS設計・運用指針、大規模なデータベース環境を構築する際の設計指針などを学ぶことができます。これらの知識は、ソリューションアーキテクトが顧客のニーズに合致した、スケーラブルで高性能なソリューションを設計するために不可欠です。
システムエンジニア
システムエンジニアは、情報システムの設計、開発、テスト、および実装を担当します。このコースでは、データベースサーバーのチューニング方法の原理原則を理解することで、システムエンジニアはシステムの性能問題の特定と解決に役立つ知識を得ることができます。特に、性能を評価するための検証環境の構築やSQL文の動作の仕組みの理解は、システムエンジニアがシステム全体のパフォーマンスを最適化するために重要な要素です。このコースで得られる知識は、システムエンジニアがより効率的で安定したシステムを構築し、運用するために役立ちます。
DevOpsエンジニア
DevOpsエンジニアは、開発と運用の連携を促進し、ソフトウェア開発ライフサイクル全体の効率を向上させます。データベースのパフォーマンスは、アプリケーションのパフォーマンスに直接影響するため、DevOpsエンジニアにとって重要な関心事です。このコースを受講することで、DevOpsエンジニアはデータベースのパフォーマンスチューニングに関する知識を深め、アプリケーションのデプロイメントと運用を最適化することができます。特に、安定した性能を確保するための設計・運用のポイントを理解することは、DevOpsエンジニアがアプリケーションのスムーズな実行を保証するために不可欠です。
アプリケーション開発者
アプリケーション開発者は、ソフトウェアアプリケーションの設計、コーディング、テスト、およびデバッグを行います。アプリケーション開発者にとって、データベースの知識は不可欠です。このコースを受講することで、アプリケーション開発者は性能を考慮したSQL文の書き方やバッチ処理性能を向上させる手法を学び、アプリケーションのデータベースアクセス部分を最適化することができます。特に、SQLチューニングの基本であるインデックスとテーブル結合の仕組みを理解することは、アプリケーションのレスポンスタイムを改善し、ユーザーエクスペリエンスを向上させるために重要です。
システムアーキテクト
システムアーキテクトは、システム全体の構造とコンポーネントを設計します。データベースは、多くのシステムの中核となるコンポーネントであるため、システムアーキテクトはデータベースのパフォーマンスについて十分な知識を持っている必要があります。このコースでは、データベースサーバーのチューニング方法の原理原則、性能を考慮したRDBMS設計・運用指針、大規模なデータベース環境を構築する際の設計指針などを学ぶことができます。これらの知識は、システムアーキテクトがスケーラブルで高性能なシステムを設計するために不可欠です。
クラウドエンジニア
クラウドエンジニアは、クラウドコンピューティング環境の設計、実装、および管理を担当します。クラウド環境では、データベースのパフォーマンスチューニングが特に重要になります。このコースでは、データベースサーバーのチューニング方法の原理原則を理解することで、クラウドエンジニアはクラウド上のデータベースシステムの性能を最適化し、コストを削減することができます。特に、性能を評価するための検証環境の構築やSQL文の動作の仕組みの理解は、クラウドエンジニアがクラウド環境でデータベースを効率的に管理するために不可欠です。
データエンジニア
データエンジニアは、データパイプラインの構築、管理、および最適化を行います。データエンジニアにとって、データベースのパフォーマンスは重要な関心事です。このコースを受講することで、データエンジニアはバッチ処理性能を向上させる手法やデータベースシステムを設計・運用するにあたっての考慮点を学び、データパイプライン全体の効率を改善することができます。特に、大規模なデータベース環境を構築する際の設計指針を理解することは、データエンジニアが大量のデータを効率的に処理し、管理するために不可欠です。
QAエンジニア
品質保証エンジニア(QAエンジニア)は、製品やサービスの品質を保証するためのテスト戦略を設計し、実行します。データベースのパフォーマンスは、アプリケーションの品質に大きな影響を与えるため、QAエンジニアにとって重要な関心事です。この講座では、性能検証の環境・手順等の解説を通じて、QAエンジニアはデータベースの性能テストを効果的に実施するための知識を得ることができます。SQL文が動作する仕組みや用語の解説も、QAエンジニアがテスト結果を分析し、パフォーマンスボトルネックを特定する上で役立ちます。本講座は、QAエンジニアがより高品質なアプリケーションをリリースするために不可欠なスキルを習得するのに役立つでしょう。
データサイエンティスト
データサイエンティストは、統計的分析、機械学習、およびその他の技術を使用して、データから価値のあるインサイトを引き出します。データサイエンティストが大量のデータを処理する際、データベースのパフォーマンスは重要な要素となります。このコースでは、バッチ処理性能を向上させる手法やデータベースシステムを設計・運用するにあたっての考慮点を学ぶことで、データサイエンティストはデータ処理パイプラインを最適化し、分析の効率を向上させることができます。特に、大規模なデータベース環境を構築する際の設計指針を理解することは、データサイエンティストが大量のデータを効率的に管理し、分析するために不可欠です。
テクニカルサポートエンジニア
テクニカルサポートエンジニアは、顧客からの技術的な問い合わせに対応し、問題解決を支援します。データベースに関する問題は、顧客からの問い合わせの中でも頻繁に発生するものの1つです。このコースでは、データベースのパフォーマンスチューニングに関する知識を習得することで、テクニカルサポートエンジニアは、顧客が抱えるデータベース関連の問題を迅速かつ効果的に解決することができます。特に、システム性能問題の現状確認やSQL文の動作の仕組みの理解は、テクニカルサポートエンジニアが問題の原因を特定し、適切な解決策を提供するために不可欠です。このコースは、テクニカルサポートエンジニアのスキルアップに貢献し、顧客満足度向上に繋がるでしょう。
データアナリスト
データアナリストは、データを分析してビジネス上の意思決定を支援します。SQLは、データアナリストがデータを抽出、変換、および分析するために最も頻繁に使用する言語の1つです。このコースでは、性能を考慮したSQL文の書き方を学ぶことで、データアナリストは大規模なデータセットに対して効率的なクエリを実行し、より迅速にインサイトを得ることができます。特に、SQLチューニングの基本であるインデックスとテーブル結合の仕組みを理解することは、データアナリストがクエリのパフォーマンスを最適化し、分析時間を短縮するために重要です。このコースは、データアナリストがSQLスキルを向上させ、より高度な分析を実行するための良い出発点となるでしょう。

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 半日で学べるデータベースパフォーマンスチューニングのキホン.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser