Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Database

Entity Framework Core DB パフォーマンスのチューニング (for SQL Server)

.NET Entity Framework Coreでデータベースプログラミングを実装するときは、DBとクエリのパフォーマンスの問題を理解し、それを改善して、より良いパフォーマンスとより安定したEF Coreプログラミングを行う方法を学ぶことができます。

  • sqlexpert
데이터베이스
sql
.net
efcore
.NET
EF Core

学習した受講者のレビュー

こんなことが学べます

  • EF Core DB Modelのパフォーマンスに関する考慮事項

  • EF Core自動生成クエリのパフォーマンス問題と解決策の学習

  • DBパフォーマンスの向上に必要なEF CoreおよびSQL Serverの機能学習

.NET EF/EF Coreベースのパフォーマンスチューニング、
より安定的に&より強力に!

より強力な.NET開発、
コアはクエリにあります!

「EF Coreで生成されるすべてのクエリは良い形式ではありません。」

.NET EFまたはEF Core(または同様のORM環境)を使用したアプリケーションによって自動的に生成されるクエリまたはクエリの処理方法が、SQL Serverの観点から不適切な関係でデータベースまたはクエリのパフォーマンスに影響を与えることは少なくありません。データの変更とトランザクション処理ではより敏感です。さらに、クエリの追跡、修正などの管理が困難なため、DBオペレータが不快感を訴えるのが一般的です。

.NET Entity Framework CoreベースのDBプログラミングパフォーマンスのチューニング方法

このレッスンでは、.NET開発者にとって優れたプログラミングツールであるEF Coreを、よりパフォーマンスの高いクエリ、より信頼性の高い処理方法で実装できるように、現在のパフォーマンス問題を理解し、その解決策を共有することに加えて、最新バージョン(V7)の強化された機能も紹介します。


こんな方へ
おすすめです。

.NET開発者

EF Core開発者
またはユーザー

EFまたはEFコア
環境で運営される
システム管理者

EF CoreのDBパフォーマンス
興味のあるユーザー

💬「.NET開発初心者でEF Coreは初めてなのに受講してもいいですか?」

.NETとEF Coreの経験があれば、内容を理解するのに簡単です。ただし、EF Coreが初めてのユーザーのために役立つような学習資料も一緒に紹介しました。選手学習資料で参照してあらかじめ学習しておくと役に立ちます。また、サンプルプロジェクトはコンソールアプリケーションで構成されており、比較的簡単にアクセスできます。

💬「EF Coreのバージョンによっても違いがあるでしょうか?」

資料とデモはEF5から最近のEF7までをカバーし、新バージョンの改善された機能と違いも紹介するので、区別して見ることができます。重要な機能については導入バージョンを一緒に記述したので判断に役立つでしょう。


一段階成長した自分を
会うことができます。

EF Coreでパフォーマンスが向上した適切なクエリを生成するようにプログラムできます。

EF Coreでは、Insert/Update/Deleteとトランザクションロック処理をより安定して実装できます。

パフォーマンスの問題が予想される問合せについて、DB担当者および関連部門、実務者などと協議し、問題を回避できます.

SQL Serverクエリ追跡

集合演算と重複処理

💡実務開発に不可欠なクエリパフォーマンス問題解決ノウハウ

.NET EF Coreの実装方法またはLambda / LINQ式の形式によって自動的に生成されるクエリの種類が異なり、これはクエリのパフォーマンスまたはDBのパフォーマンスに影響します。このトレーニングでは、EF Coreの実装による自動生成クエリの内容とパフォーマンス上の問題を調べ、それらを解決する方法を学ぶことができます。また、データ変更(DML)操作やトランザクション処理の問題によって実務で発生する重要な問題も理解できます。

特に、SQL Serverを専門的に長年コンサルティングし、講義してきた知識共有者が各テーマごとに実務で共通して現れる状況を例として使用するため、実務活用に直接的に役立つように構成しました。

詳細カリキュラム✅

1) コース紹介

  1. Intro
  2. 入門者のための事前学習資料
  3. コース紹介
  4. Demo用SalesSimple DBの紹介
  5. Visual Studio Demoプロジェクトの紹介
  6. Visual Studio 構成のデモと LINQ 式 (入門)
  7. DBパフォーマンスチューニングの重要な要素

2) Code-First パフォーマンスに関する考慮事項

  1. Database プロパティのチューニング
  2. データ型と長さ
  3. 複合キーまたはインデックスの指定
  4. 外部(参照)キー指定時のインデックス生成

3) クエリロギングとパフォーマンスモニタリング

  1. クエリパフォーマンスの監視と分析用ツール
  2. Simple Logging
  3. SQL Serverクエリ追跡
  4. Dotnet-counters
  5. BenchmarkDotNet
  6. データアクセス手順の概要 - クエリ応答時間(T)消費項目

4) DB Connection

  1. 接続文字列 (Connection String) 重要な項目
  2. DbContextOptionsBuilder
  3. DbContextPool
  4. DB Connection OpenとCloseの時点を理解する
  5. MARS(Multiple Active ResultSets)接続

5)データ照会 - パート1

  1. はじめに
  2. 同期対。非同期処理
  3. 一時的な対。パラメータクエリ
  4. ToQueryString()
  5. 非追跡クエリ
  6. 必要な列のみ SELECT (Projection)
  7. Benchmark - データルックアップ方式によるパフォーマンス
  8. IQueryable vs. IEnumerable
  9. Where(), Find(), First() vs. FirstOrDefault(), SingleOrDefault()
  10. FirstOrDefault()/SingleOrDefault() とサブクエリの問題
  11. SingleOrDefault() および SQL LIKE 実装例
  12. EF.Functions と SQL IN 条件、STRING_AGG() 関数を使用する

6)データ照会 - パート2

  1. CROSS/INNER/OUTER JOIN
  2. APPLYの実装
  3. .Include(), .ThenInclude() と Split Queries と EF Internal Buffering
  4. Lazy Loading vs. Eager Loadingと不要な冗長クエリ
  5. 集合演算(交差集合/合集合/差集合)および重複(distinct)処理

7)データ照会 - パート3

  1. 索引を使用するための前提条件SARG
  2. 非SARGタイプによる理解

8)高度なクエリなど

  1. Paging クエリ
  2. 動的検索条件(別名万能照会)クエリ
  3. Compile Query
  4. 非同期クエリを停止する
  5. .Tag()でクエリをコメントアウトする

9) SQL直接使用

  1. SQL直接使用サポート関数の分類
  2. Adhoc or Parameterization クエリ
  3. テーブル値関数(TVF)の呼び出し
  4. スカラー型 (Non-Entity) クエリ呼び出し
  5. Entityベースのストアドプロシージャの呼び出し
  6. 照会用ストアード・プロシージャーの呼び出し
  7. 複数結果セット戻りストアドプロシージャの呼び出し

10)DML操作(INSERT / UPDATE / DELETE)、EF 6 vs。 EF7

  1. 単一 or Batch INSERT
  2. 一括データ変更とバッチ処理
  3. EF Core 7の拡張 SaveChanges()
  4. 単一 or Batch UPDATE
  5. 単一 or Batch DELETE
  6. 一括更新用の ExecuteUpdate() or ExecuteDelete()
  7. UPDATE or DELETEステートメントを直接使用する

11) トランザクションとロック

  1. DBパフォーマンスを考慮したトランザクション処理
  2. トランザクション、分離レベル、Commit/Rollback/SavePoint
  3. Read Committed 分離レベルとロックをブロック
  4. Repeatable Read 分離レベル
  5. 休止トランザクションの問題
  6. ケース – 「スリープトランザクション」パフォーマンスの問題
  7. 照会(読み取り)専用照会でブロックを回避する(NOLOCK or RCS)

12) 分散トランザクション(TransactionScope)

  1. TransactionScopeクラスのパフォーマンス問題、アクション、管理

13) 付録

  1. スカラー値ユーザー定義関数 (UDFs) 呼び出し
  2. EF Core 楽観的並行処理のサポート
  3. DbCommandInterceptor 継承 – クエリにヒントを追加する
  4. アプリケーションコードを変更せずにクエリヒントを設定する

Q&A 💬

Q. 非専攻者も聞ける講義ですか?

.NETとSQLの基礎があれば聞くことができます、少し不足しても受講中に必要な基礎を並行学習すれば良いでしょう。

Q. 講義を聞く前に準備すべきことはありますか?

もし.NET EF Core入門者であれば、コースの前部で紹介する事前学習用資料を見て、従ってみてください。デモ用DB、EF Coreサンプルプロジェクトを含む他の資料もあらかじめダウンロードしておいてください。デモDBの構成と内容はトレーニングで説明します。また、DBとして使用するためのSQL ServerやSSMSなどの管理ツールも必要ですので、あらかじめインストールしておいてください。

Q. 受講前に備えなければならない環境はありますか?

Visual Studio(Community Edition以降)とSQL Serverが必要です。可能であれば、最新バージョンをお勧めします。コースの前半で.NET入門者向けのVisual Studioのダウンロードと構成についても簡単に紹介とデモを紹介します


この講義の知識共有者
紹介します。

キム・ジョンソンSQL

履歴

  • ㈱シークオロ(www.sqlroad.com)代表コンサルタント/取締役(2005年から)
    • SQL Serverコンサルティング、技術支援、講義、ソリューション開発
  • SQLBigEyes(SQL Serverパフォーマンスモニタリングソリューション、www.sqlbigeyes.com)の開発
    • SQLBigEyes(SQL Serverパフォーマンスモニタリングソリューション、www.sqlbigeyes.com)の開発
  • Microsoft Data Platform MVP
    • 2002年から(現在2022年基準)21年間受賞、2008年MVP功労賞受賞

資格と認証

  • MCT、Azure DBA、MCITPなど

講義活動(1999年から)

外部活動

  • SQL Server MVP Deep Dives Vol 2 (Manning Pubs)共著者に参加
  • キム・ジョンソンのSQL Serverコンサルティングストーリーシーズン12年間進行中
  • SQL Unpluggedセミナー5年間進行
  • SQL PASS Korea Chapter Leader
  • Microsoft Ignite、BITEC、Tech Camp、MVP Camp、TechEd、MSDNなどのSpeakerに参加

一緒に見れば良い講義

こんな方に
おすすめです

学習対象は
誰でしょう?

  • EF CoreまたはEF開発者

  • EF Core アプリケーションが適用された DB オペレーター (SQL Server)

  • EF Core DBのパフォーマンスに興味のあるユーザー

前提知識、
必要でしょうか?

  • .NET EF Core 基礎

  • SQL Serverの基礎

こんにちは
です。

1,655

受講生

134

受講レビュー

61

回答

4.7

講座評価

4

講座

(주)씨퀄로 대표컨설턴트/이사, SQLBigEyes Monitoring Solution Developer
Microsoft Data Platform MVP (Award, 2002 ~ 현재)
MCT, Azure DBA, MCITP, MCDBA
SQL PASS Korea Chapter Leader

Email: jskim@sqlroad.com
Homepage: www.visualdb.net (인프런 쿠폰 코드 제공)
Youtube: 김정선 SQL TV
강의: 스킬서포트교육센터@서울

カリキュラム

全体

71件 ∙ (14時間 35分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

8件

5.0

8件の受講レビュー

  • soondai3903님의 프로필 이미지
    soondai3903

    受講レビュー 2

    平均評価 5.0

    5

    31% 受講後に作成

    とても分かりやすく説明してくださいます。

    • sqlexpert
      知識共有者

      こんにちはsoondaiさん、良い評価とレビューを残していただき、ありがとうございます〜 キム・ジョンソンより

  • njh88102830님의 프로필 이미지
    njh88102830

    受講レビュー 8

    平均評価 5.0

    5

    100% 受講後に作成

    • b1246268090님의 프로필 이미지
      b1246268090

      受講レビュー 3

      平均評価 5.0

      5

      42% 受講後に作成

      • pnehanol6503님의 프로필 이미지
        pnehanol6503

        受講レビュー 4

        平均評価 5.0

        5

        100% 受講後に作成

        • mook45062146님의 프로필 이미지
          mook45062146

          受講レビュー 8

          平均評価 5.0

          5

          49% 受講後に作成

          本当に探していた講義でした。ありがとうございます。

          • sqlexpert
            知識共有者

            こんにちはmook4506、 受講評をいただきありがとうございます、周辺にもご紹介ありがとうございます〜 :D キム・ジョンソンドリーム

        期間限定セール、あと7日日で終了

        ¥15,627

        19%

        ¥19,492

        sqlexpertの他の講座

        知識共有者の他の講座を見てみましょう!

        似ている講座

        同じ分野の他の講座を見てみましょう!