inflearn logo
inflearn logo

JPA (ORM) 開発者向け 高性胜SQL (High-Performance SQL)

リレヌショナルデヌタベヌスシステムを最倧限に掻甚したしょう

難易床 䞭玚以䞊

受講期間 無制限

SQL
SQL
performance-tuning
performance-tuning
sql-query
sql-query
DBMS/RDBMS
DBMS/RDBMS
SQL
SQL
performance-tuning
performance-tuning
sql-query
sql-query
DBMS/RDBMS
DBMS/RDBMS

孊習した受講者のレビュヌ

孊習した受講者のレビュヌ

4.9

5.0

몚깅

34% 受講埌に䜜成

非垞に詳しく説明しおくださったおかげで、トップレベルの開発者がどのように考え、開発するのかを孊ぶこずができたした。残りの講矩も必ずしっかり理解したいず思いたす

5.0

hahahl

9% 受講埌に䜜成

思考の流れを孊べる方法が倧倉 도움읎 됩니닀. 英語で聞いお埩習は時間を節玄するために2倍速の韓囜語で聞きたすが、 전혀 얎색핚읎 없넀요。

5.0

화륌찞자

8% 受講埌に䜜成

ブラドさんの講矩があるこずも知っおいたしたが、英語ができないため躊躇しおやめおいたした。ブラドさんがい぀韓囜語を孊んだのかはわかりたせんが、韓囜語で知識を共有しおいただきありがずうございたす。講矩スラむドずおも良いですね。ブラドさんが䌝えたい郚分をすぐに把握するこずができたした。残りもよく孊習しおみたす。

受講埌に埗られるこず

  • HibernateおよびJPA分野の䞖界的な専門家が教える、SQLパフォヌマンスチュヌニングず最適化のノりハりを孊びたす。

  • バック゚ンドアプリケヌションずデヌタベヌス間の効率的な盞互䜜甚を考慮したSQLの䜜成方法を習埗したす。

  • ORM環境でパフォヌマンスを最倧化するために、JOIN、サブク゚リ、CTE、りィンドり関数など、さたざたなSQL戊略のうちどれを遞択すべきかを刀断する基準を提瀺したす。

  • Oracle、SQL Server、MySQL、PostgreSQLなど代衚的なRDBMSにおける性胜改善ク゚リ戊略を比范し、各デヌタベヌスでうたく機胜する、たたは機胜しない状況を明確に瀺したす。

  • Upsert、Mergeのような高床なク゚リ技法を、倚様なRDBMS環境でどのように掻甚するか、実務事䟋を䞭心に孊ぶこずができたす。

  • トランザクション分離レベルの問題、ロッキング戊略、JSONデヌタ凊理、高床なむンデックス戊略など、最新のSQLトピックを取り䞊げ、アプリケヌションのパフォヌマンスを最倧限に高めるこずができる胜力を逊いたす。

Vladさん - バンドバナヌ修正

グロヌバル専門家に孊ぶ
高性胜SQLチュヌニング戊略

今曞いおいるSQL、本圓に最適化されおいたすか

DBのパフォヌマンスは、コヌドの最適化ではなく、「ク゚リ蚭蚈」で刀明したす。

「ク゚リの本質を理解する瞬間、デヌタベヌスが異なりたす。」

倚くの開発者がSQLを䜜成し、ロゞックの実装に慣れおいたすが、実際のデヌタベヌスのパフォヌマンスに圱響を䞎えるのはどのようにク゚リを曞いたのでしょうか。

結合の順序、サブク゚リの䜍眮、むンデックスがどのように利甚されるかに応じお、同じ結果を返すク゚リも数十倍のパフォヌマンスの違いを生み出したす。
ただし、実行蚈画を読み取らずにORMが生成したSQLをそのたた曞き蟌んだり、䜿い慣れたパタヌンだけを繰り返す堎合、ボトルネックの実䜓は垞に「深く隠されたたた」運営に負担をかけたす。

すべおのアプリケヌション開発者がDBAレベルの深いSQL理解を必芁ずするわけではありたせんが、アプリケヌションを開発するずきに決しお芋逃すべきではない重芁なSQLパフォヌマンス技術がありたす。

倚くの開発者がORMだけをよく知ったり、逆にSQLだけをよく知っおいるこずが倚いのですが、これら2぀を有機的に組み合わせお理解しお掻甚するこずは倚くありたせん。
このレッスンでは、ORMずSQLを別々の技術ではなく互いに盞乗効果を䞎えるためのツヌルずしお芋おいきたす。

SQLは単玔なデヌタ怜玢蚀語ではなく、デヌタベヌスずパフォヌマンスの意思決定のツヌルです。
ク゚リの本質を理解した埌、パフォヌマンスの向䞊はもはや感ではなく、蚭蚈の領域になりたす。

性胜䞭心に蚭蚈する
SQLの考え方

「高性胜SQL」講矩を受講するず

機胜のリストではなく、戊略的構造を蚭蚈する実甚SQL

JOIN、サブク゚リ、CTE、およびりィンドり関数はそれ自䜓よりどのように組み合わせ、い぀遞択するかが実践の栞心です。

ク゚リのパフォヌマンスを「盎接取埗する」孊習方法

単に文法を習埗するのではなく、実際のク゚リを実行し、応答速床を比范しおみおボトルネックが発生する点、改善される構造をラむン単䜍で探しお䜓感できるように蚭蚈した講矩です。

トランザクションからJSONたで、高床なSQLで実務レベルアップ

りィンドり関数、トランザクション分離レベル、楜芳的/悲芳的ロック、JSON凊理たで - 実践から頻繁に遭遇したすが、正しく習埗するのが難しい高床なトピックを䜓系的にカバヌしおいたす。
性胜・同時性・デヌタ蚭蚈たで合わせる実戊型SQL実力を備えるようになりたす。

孊習内容

さたざたなJOIN方匏ずパフォヌマンス最適化戊略

INNER、OUTER、NATURAL、LATERAL JOINなど、SQLのさたざたな結合方法を比范し、状況に応じた遞択基準ずパフォヌマンスの違いを分析したす。

サブク゚リず掟生テヌブルを利甚したク゚リ構造化

JOINずサブク゚リの長所ず短所を比范し、EXISTS、IN、ANY/ALLなど、さたざたなサブク゚リ匏の内郚動䜜原理を理解したす。

再垰ク゚リず階局型デヌタ凊理方匏

Recursive CTEを掻甚しお、ツリヌ構造や組織図など、階局的なデヌタを効果的に凊理する方法を孊びたす。再垰ク゚リの実行方法ずパフォヌマンスに関する考慮事項をたずめ、実際のビゞネスロゞックを実装するために必芁なSQL技術を習埗したす。

りィンドり関数で耇雑な分析ク゚リを構成する

ROW_NUMBER、RANK、DENSE_RANK、LAG/LEADなどのりィンドり関数を掻甚しお、集蚈、゜ヌト、ランクの取埗など、耇雑な分析ロゞックをSQLで実装したす。 WindowsフレヌムずPARTITION BYの内郚動䜜を理解し、パフォヌマンスを䜎䞋させるこずなくデヌタを集蚈する高床な技術を実践したす。

実務でよく䜿われるSQL掻甚技法

UpsertずMergeの構文を掻甚しお挿入ず曎新を同時に凊理する方法を習埗し、Pivo​​t/Unpivotを介しおデヌタの圢を柔軟に倉圢する手法を孊習したす。たた、SQLの実行順序を正確に理解し、さたざたなペヌゞネヌション方匏の動䜜原理を習埗し、ク゚リフロヌの理解床を高めたす。

トランザクションずJSON凊理たでの高床なSQL

ACID特性ずトランザクション分離レベルに基づいた䞊行性制埡技術を習埗し、悲芳的/楜芳的ロック戊略を比范したす。 JSONデヌタ型をSQLで凊理する方法も䞀緒に扱い、珟代的なデヌタモデルに察応できる拡匵されたSQL胜力を備えおいたす。

こんな方に
おすすめです

孊習察象は
誰でしょう

  • ORMは䜿うけど、性胜改善ぞの欲求がある方

  • SQLチュヌニングはDBAの方が担圓しおおり、SQLのパフォヌマンス改善経隓を切望しおいる方

  • SQLは曞けるものの、性胜改善の方法や戊略の遞択基準が䞍足しおいるず感じる方

  • 実務で盎面する耇雑なク゚リの問題を解決するセンスを磚きたい方

  • JOIN、CTE、トランザクション、JSONなど、高床なSQLのトピックたで䜓系的に孊びたい開発者

前提知識、
必芁でしょうか

  • JAVA、Spring Framework の基本的な䜿い方

  • 基本的なSQL䜜成胜力

  • リレヌショナルデヌタベヌスの䜿甚経隓

こんにちは
Vlad Mihalceaです。

1,261

受講生

74

受講レビュヌ

4.5

講座評䟡

2

講座

私の名前はVlad Mihalceaです。Java Championであり、Amazonで最も売れおいるJava関連曞籍の䞀぀ずなったHigh-Performance Java Persistenceの著者でもありたす。

私は珟圚、玠晎らしいHypersistence Optimizerを開発しおおり、空いた時間にはさたざたなオヌプン゜ヌスプロゞェクトHypersistence UtilsやFlexyPoolなどの開発や、StackOverflowでの回答掻動を行っおいたす。

私はJavaチャンピオンであり、Hibernate ORMプロゞェクトの䞻芁なコントリビュヌタヌです。アプリケヌションの構成ずマッピングをスキャンし、デヌタアクセス局の速床を向䞊させるために必芁な倉曎を提案するツヌル、Hypersistence Optimizerを開発したした。

StackOverflowでHibernate、Java、JPAタグに関連する数千の質問に回答し、ゎヌルドバッゞを獲埗したした。

興味深い発芋をするず、個人ブログで共有するこずを奜みたす。圌はオヌプン゜ヌス゜フトりェアを信頌しおおり、すべおの開発者が䜕らかの圢で貢献すべきだず考えおいたす。

適切なツヌルが芋぀からなければ、Hypersistence UtilsやFlexyPoolのような新しいオヌプン゜ヌスプロゞェクトを立ち䞊げるこずもありたす。

もっず芋る

カリキュラム

党䜓

79件 ∙ (7時間 37分)

講座資料こうぎしりょう:

授業資料
講座掲茉日: 
最終曎新日: 

受講レビュヌ

党䜓

31ä»¶

4.9

31件の受講レビュヌ

  • tjsahr9191님의 프로필 읎믞지
    tjsahr9191

    受講レビュヌ 32

    ∙

    平均評䟡 5.0

    5

    34% 受講埌に䜜成

    非垞に詳しく説明しおくださったおかげで、トップレベルの開発者がどのように考え、開発するのかを孊ぶこずができたした。残りの講矩も必ずしっかり理解したいず思いたす

    • vladmihalcea
      知識共有者

      レビュヌありがずうございたす。コヌスがお圹に立おお嬉しいです。

  • hahahl님의 프로필 읎믞지
    hahahl

    受講レビュヌ 57

    ∙

    平均評䟡 5.0

    5

    9% 受講埌に䜜成

    思考の流れを孊べる方法が倧倉 도움읎 됩니닀. 英語で聞いお埩習は時間を節玄するために2倍速の韓囜語で聞きたすが、 전혀 얎색핚읎 없넀요。

    • vladmihalcea
      知識共有者

      気に入っおいただけお嬉しいです。私のコヌスは英語で収録されたのですが、Inflearnプラットフォヌムが韓囜語の吹き替えず字幕を提䟛しおくれたした。

  • 20181420196030님의 프로필 읎믞지
    20181420196030

    受講レビュヌ 2

    ∙

    平均評䟡 5.0

    5

    6% 受講埌に䜜成

    い぀もブログで拝芋しおいたしたが、今回講座が出たず聞いおすぐに申し蟌みたした 良い講座をありがずうございたす。韓囜語で説明しおくださるので、 부닎감(負担感)なく聞けおいたす。

    • vladmihalcea
      知識共有者

      この床は、迅速なご登録ありがずうございたす。ビデオレッスンをお楜しみください。

  • jiggyjiggy님의 프로필 읎믞지
    jiggyjiggy

    受講レビュヌ 6

    ∙

    平均評䟡 5.0

    5

    8% 受講埌に䜜成

    ブラドさんの講矩があるこずも知っおいたしたが、英語ができないため躊躇しおやめおいたした。ブラドさんがい぀韓囜語を孊んだのかはわかりたせんが、韓囜語で知識を共有しおいただきありがずうございたす。講矩スラむドずおも良いですね。ブラドさんが䌝えたい郚分をすぐに把握するこずができたした。残りもよく孊習しおみたす。

    • vladmihalcea
      知識共有者

      私の講座にご関心をお寄せいただきありがずうございたす。楜しんでいただけお嬉しいです。

  • limeade님의 프로필 읎믞지
    limeade

    受講レビュヌ 13

    ∙

    平均評䟡 5.0

    5

    37% 受講埌に䜜成

    倚様な状況でどのような戊略を適甚するのが良いのか、分かりやすく説明しおくださいたす。 SQLの力量を䌞ばすのに倧いに圹立぀ず思いたす。

    • vladmihalcea
      知識共有者

      ありがずうございたす。たたお楜しみに。

䌌おいる講座

同じ分野の他の講座を芋おみたしょう

ï¿¥28,272