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

/

Database

Điều chỉnh hiệu suất Entity Framework Core DB (dành cho SQL Server)

Khi triển khai lập trình cơ sở dữ liệu với .NET Entity Framework Core, bạn có thể hiểu các vấn đề về hiệu suất truy vấn và DB cũng như tìm hiểu cách cải thiện chúng để đạt được hiệu suất tốt hơn và lập trình EF Core ổn định hơn.

(5.0) 7 đánh giá

74 học viên

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

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Các cân nhắc về hiệu suất của Mô hình EF Core DB

  • Tìm hiểu các vấn đề về hiệu suất và giải pháp cho các truy vấn được tạo tự động của EF Core

  • Tìm hiểu các tính năng cần thiết của EF Core và SQL Server để cải thiện hiệu suất DB

Điều chỉnh hiệu suất dựa trên .NET EF/EF Core,
Ổn định hơn và mạnh mẽ hơn!

Phát triển .NET mạnh mẽ hơn,
Chìa khóa nằm ở câu hỏi!

“Không phải tất cả các truy vấn do EF Core tạo ra đều có dạng đúng.”

Trong nhiều trường hợp, các truy vấn được tạo hoặc xử lý tự động bởi các ứng dụng sử dụng .NET EF hoặc EF Core (hoặc các môi trường ORM tương tự) không phù hợp với SQL Server, ảnh hưởng đến hiệu suất cơ sở dữ liệu hoặc truy vấn . Điều này đặc biệt đúng đối với việc thay đổi dữ liệu và xử lý giao dịch. Hơn nữa, các quản trị viên cơ sở dữ liệu thường phàn nàn về khó khăn trong việc quản lý các truy vấn, chẳng hạn như theo dõi và sửa đổi truy vấn.

Cách điều chỉnh hiệu suất lập trình DB dựa trên .NET Entity Framework Core

Trong bài giảng này, chúng ta sẽ tìm hiểu các vấn đề hiệu suất hiện tại và chia sẻ các giải pháp để triển khai EF Core, một công cụ lập trình tuyệt vời dành cho các nhà phát triển .NET, với hiệu suất truy vấn tốt hơn và phương pháp xử lý ổn định hơn. Chúng tôi cũng sẽ giới thiệu các tính năng cải tiến của phiên bản mới nhất (V7).


Gửi đến những người này
Tôi khuyên bạn nên làm vậy.

Nhà phát triển .NET

Nhà phát triển EF Core
hoặc người dùng

EF hoặc EF Core
Hoạt động trong môi trường
quản trị viên hệ thống

Hiệu suất DB của EF Core
Người dùng quan tâm

💬 “Tôi mới bắt đầu học lập trình .NET và đây là lần đầu tiên tôi học EF Core. Tôi có thể học khóa học này không?”

Nếu bạn đã có kinh nghiệm với .NET và EF Core, bạn sẽ thấy nội dung dễ hiểu hơn. Tuy nhiên, đối với những người mới làm quen với EF Core, chúng tôi cũng đã bao gồm một số tài liệu học tập hữu ích . Bạn nên xem lại các tài liệu học tập này trước để hiểu sâu hơn. Hơn nữa, dự án ví dụ là một ứng dụng console, giúp việc truy cập tương đối dễ dàng.

💬 “Liệu có sự khác biệt tùy theo phiên bản EF Core không?”

Tài liệu và bản demo bao gồm từ EF5 đến EF7 gần đây , giới thiệu những cải tiến và khác biệt giữa các phiên bản mới, giúp bạn dễ dàng sử dụng. Đối với các tính năng chính, chúng tôi đã bao gồm các phiên bản giới thiệu để giúp bạn đưa ra quyết định sáng suốt.


Một bản thân đã phát triển thêm một bước nữa
Bạn có thể gặp.

Bạn có thể lập trình EF Core để tạo ra các truy vấn phù hợp và hiệu quả hơn .

EF Core có thể triển khai Chèn/Cập nhật/Xóa, giao dịchkhóa đáng tin cậy hơn.

Bạn có thể thảo luận các truy vấn có thể gây ra vấn đề về hiệu suất với người quản lý DB, các phòng ban liên quan và các chuyên viên để ngăn ngừa sự cố .

Theo dõi truy vấn SQL Server

Thiết lập các hoạt động và xử lý riêng biệt

💡 Biết cách giải quyết các vấn đề về hiệu suất truy vấn cần thiết cho quá trình phát triển thực tế

Tùy thuộc vào cách triển khai .NET EF Core hoặc dạng biểu thức Lambda/LINQ , loại truy vấn được tạo tự động sẽ khác nhau, ảnh hưởng đến hiệu suất truy vấn và hiệu suất cơ sở dữ liệu . Trong khóa đào tạo này, bạn có thể xem xét nội dung của các truy vấn được tạo tự động theo cách triển khai EF Core, các vấn đề về hiệu suất và tìm hiểu các phương pháp giải quyết chúng. Bạn cũng sẽ hiểu các vấn đề quan trọng phát sinh trong thực tế do các thao tác sửa đổi dữ liệu (DML) hoặc các vấn đề xử lý giao dịch.

Đặc biệt, chuyên gia chia sẻ kiến thức là người đã có thời gian dài tư vấn và giảng dạy SQL Server, sử dụng các tình huống thường gặp trong thực tế làm ví dụ cho từng chủ đề, do đó được tổ chức để có thể áp dụng trực tiếp vào thực tế.

Chương trình giảng dạy chi tiết ✅

1) Giới thiệu khóa học

  1. Giới thiệu
  2. Tài liệu học tập trước cho người mới bắt đầu
  3. Giới thiệu khóa học
  4. Giới thiệu SalesSimple DB cho bản demo
  5. Giới thiệu Dự án Demo Visual Studio
  6. Bản demo cấu hình Visual Studio và biểu thức LINQ (Dành cho người mới bắt đầu)
  7. Các yếu tố chính của việc điều chỉnh hiệu suất DB

2) Cân nhắc về hiệu suất Code-First

  1. Điều chỉnh thuộc tính cơ sở dữ liệu
  2. Định dạng và độ dài dữ liệu
  3. Chỉ định một khóa tổng hợp hoặc chỉ mục
  4. Tạo chỉ mục khi chỉ định khóa ngoại (tham chiếu)

3) Ghi nhật ký truy vấn và giám sát hiệu suất

  1. Công cụ theo dõi và phân tích hiệu suất truy vấn
  2. Ghi nhật ký đơn giản
  3. Theo dõi truy vấn SQL Server
  4. Bộ đếm Dotnet
  5. BenchmarkDotNet
  6. Tổng quan về Quy trình Truy cập Dữ liệu - Mục Tiêu thụ Thời gian Phản hồi Truy vấn (T)

4) Kết nối DB

  1. Chuỗi kết nối Các mục quan trọng
  2. Trình xây dựng tùy chọn DbContext
  3. DbContextPool
  4. Hiểu về các điểm mở và đóng kết nối DB
  5. Kết nối nhiều Active ResultSets (MARS)

5) Truy xuất dữ liệu - Phần 1

  1. giới thiệu
  2. Xử lý đồng bộ so với xử lý không đồng bộ
  3. Truy vấn ad hoc so với truy vấn tham số
  4. ToQueryString()
  5. Các truy vấn không theo dõi
  6. CHỌN chỉ các cột cần thiết (Chiếu)
  7. Điểm chuẩn - Hiệu suất theo phương pháp truy xuất dữ liệu
  8. IQueryable so với IEnumerable
  9. Where(), Find(), First() so với FirstOrDefault(), SingleOrDefault()
  10. Các vấn đề về FirstOrDefault()/SingleOrDefault() và Subquery
  11. Ví dụ triển khai SingleOrDefault() và SQL LIKE
  12. Sử dụng EF.Functions, Điều kiện SQL IN và Hàm STRING_AGG()

6) Truy xuất dữ liệu - Phần 2

  1. NỐI CHÉO/BÊN TRONG/BÊN NGOÀI
  2. ÁP DỤNG triển khai
  3. .Include(), .ThenInclude(), Truy vấn phân tách và Bộ đệm nội bộ EF
  4. Tải chậm so với Tải nhanh và Tránh các truy vấn trùng lặp không cần thiết
  5. Các phép toán tập hợp (giao/hợp/hiệu) và xử lý riêng biệt

7) Truy xuất dữ liệu - Phần 3

  1. Điều kiện tiên quyết để sử dụng chỉ số SARG
  2. Hiểu về các loại không phải SARG

8) Các truy vấn nâng cao và nhiều hơn nữa

  1. Truy vấn phân trang
  2. Truy vấn điều kiện tìm kiếm động (hay còn gọi là tra cứu chung)
  3. Biên dịch truy vấn
  4. Dừng truy vấn không đồng bộ
  5. Chú thích các truy vấn với .Tag()

9) Sử dụng trực tiếp SQL

  1. Phân loại các hàm hỗ trợ sử dụng trực tiếp SQL
  2. Truy vấn Adhoc hoặc Tham số hóa
  3. Gọi các hàm có giá trị bảng (TVF)
  4. Gọi truy vấn kiểu vô hướng (không phải thực thể)
  5. Gọi thủ tục lưu trữ dựa trên thực thể
  6. Gọi một thủ tục được lưu trữ để truy vấn
  7. Gọi một thủ tục được lưu trữ trả về nhiều tập kết quả

10) Các thao tác DML (CHÈN/CẬP NHẬT/XÓA), EF 6 so với EF7

  1. CHÈN Đơn hoặc Hàng loạt
  2. Thay đổi dữ liệu hàng loạt và xử lý hàng loạt
  3. Cải thiện SaveChanges() trong EF Core 7
  4. CẬP NHẬT Đơn hoặc Hàng loạt
  5. XÓA đơn lẻ hoặc hàng loạt
  6. ExecuteUpdate() hoặc ExecuteDelete() để cập nhật hàng loạt
  7. Sử dụng trực tiếp các câu lệnh UPDATE hoặc DELETE

11) Giao dịch và Khóa

  1. Xử lý giao dịch xem xét hiệu suất DB
  2. Giao dịch, mức độ cô lập, Cam kết/Hoàn tác/Lưu điểm
  3. Đọc Mức độ cô lập đã cam kết và Chặn khóa
  4. Mức độ cô lập Đọc lặp lại
  5. Vấn đề giao dịch không hoạt động
  6. Nghiên cứu điển hình – Các vấn đề về hiệu suất “Giao dịch không hoạt động”
  7. Tránh chặn trong các truy vấn chỉ đọc (NOLOCK hoặc RCS)

12) Giao dịch phân tán (TransactionScope)

  1. Các vấn đề về hiệu suất lớp TransactionScope, cách khắc phục và quản lý

13) Phụ lục

  1. Gọi các hàm do người dùng định nghĩa có giá trị vô hướng (UDF)
  2. Hỗ trợ đồng thời EF Core Optimistic
  3. Kế thừa DbCommandInterceptor – Thêm gợi ý vào truy vấn
  4. Thiết lập gợi ý truy vấn mà không sửa đổi mã ứng dụng

Hỏi & Đáp 💬

H. Đây có phải là khóa học mà sinh viên không chuyên ngành cũng có thể tham gia không?

Nếu bạn đã có kiến thức cơ bản về .NET và SQL, bạn có thể tham gia khóa học này. Ngay cả khi còn thiếu một chút kiến thức, bạn vẫn có thể học những kiến thức cơ bản cần thiết trong quá trình học.

H. Tôi có cần chuẩn bị gì trước khi tham dự buổi thuyết trình không?

Nếu bạn mới làm quen với .NET EF Core, hãy xem lại và làm theo các tài liệu học tập trước được giới thiệu ở đầu khóa học. Bạn cũng có thể tải xuống các tài liệu khác, bao gồm cơ sở dữ liệu demo và dự án mẫu EF Core, trước. Cấu hình và nội dung cơ sở dữ liệu demo sẽ được giải thích trong quá trình đào tạo. Bạn cũng sẽ cần SQL Server để sử dụng làm cơ sở dữ liệu, cũng như các công cụ quản lý như SSMS, vì vậy vui lòng cài đặt chúng trước.

H. Tôi có cần đáp ứng bất kỳ yêu cầu nào trước khi tham gia khóa học không?

Bạn cần có Visual Studio (Phiên bản Cộng đồng hoặc cao hơn) và SQL Server. Khuyến nghị sử dụng phiên bản mới nhất. Đối với người mới bắt đầu sử dụng .NET, chúng tôi cũng sẽ giới thiệu ngắn gọn và hướng dẫn cách tải xuống và cấu hình Visual Studio ở phần trước của khóa học.


Người chia sẻ kiến thức của bài giảng này
Xin giới thiệu.

Kim Jeong-seon SQL

Lịch sử

  • Tổng giám đốc/Giám đốc của Sequlo Co., Ltd. (www.sqlroad.com) (từ năm 2005)
    • Tư vấn SQL Server, hỗ trợ kỹ thuật, bài giảng và phát triển giải pháp
  • Phát triển SQLBigEyes (giải pháp giám sát hiệu suất SQL Server, www.sqlbigeyes.com)
    • Phát triển SQLBigEyes (giải pháp giám sát hiệu suất SQL Server, www.sqlbigeyes.com)
  • MVP Nền tảng dữ liệu của Microsoft
    • Được trao tặng trong 21 năm kể từ năm 2002 (tính đến năm 2022), Giải thưởng Thành tựu MVP năm 2008

Bằng cấp và chứng chỉ

  • MCT, Azure DBA, MCITP và nhiều hơn nữa

Hoạt động giảng dạy (từ năm 1999)

Hoạt động ngoài trời

  • Đồng tác giả của SQL Server MVP Deep Dives Vol 2 (Manning Pubs)
  • Câu chuyện tư vấn SQL Server của Kim Jeong-seon Phần 12 vẫn đang tiếp tục.
  • Hội thảo SQL Unplugged được tổ chức trong 5 năm
  • Trưởng chi nhánh SQL PASS Hàn Quốc
  • Diễn giả tham gia các hội thảo Microsoft Ignite, BITEC, Tech Camp, MVP Camp, TechEd, MSDN, v.v.

Một bài giảng hay để cùng nhau xem

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • EF Core hoặc Nhà phát triển EF

  • Toán tử DB với ứng dụng EF Core (Máy chủ SQL)

  • Người dùng quan tâm đến hiệu suất của EF Core DB

Cần biết trước khi bắt đầu?

  • Khái niệm cơ bản về .NET EF Core

  • Thông tin cơ bản về máy chủ SQL

Xin chào
Đây là

1,654

Học viên

133

Đánh giá

61

Trả lời

4.7

Xếp hạng

4

Các khóa học

(주)씨퀄로 대표컨설턴트/이사, 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
강의: 스킬서포트교육센터@서울

Chương trình giảng dạy

Tất cả

71 bài giảng ∙ (14giờ 35phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

7 đánh giá

5.0

7 đánh giá

  • njh88102830님의 프로필 이미지
    njh88102830

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    • b1246268090님의 프로필 이미지
      b1246268090

      Đánh giá 3

      Đánh giá trung bình 5.0

      5

      42% đã tham gia

      • pnehanol6503님의 프로필 이미지
        pnehanol6503

        Đánh giá 4

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        • mook45062146님의 프로필 이미지
          mook45062146

          Đánh giá 8

          Đánh giá trung bình 5.0

          5

          49% đã tham gia

          This is exactly the lecture I was looking for. Thank you.

          • sqlexpert
            Giảng viên

            Hello mook4506, Thank you for leaving a review. Please recommend it to those around you~ :D Dream of Kim Jeong-seon

        • garlicbread님의 프로필 이미지
          garlicbread

          Đánh giá 1

          Đánh giá trung bình 5.0

          5

          99% đã tham gia

          This is a great lecture that can help you develop the ability to think about and develop both the DB and development aspects!

          • sqlexpert
            Giảng viên

            Jungwoo Kim, I'm embarrassed, thank you for the good review~ :D Kim Jung-sun Dream

        Ưu đãi có thời hạn

        102 ₫

        19%

        3.462.471 ₫

        Khóa học khác của sqlexpert

        Hãy khám phá các khóa học khác của giảng viên!

        Khóa học tương tự

        Khám phá các khóa học khác trong cùng lĩnh vực!