Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để tăng hiệu suất của Cơ sở dữ liệu?

Tối ưu hóa thiết kế hợp lý

Mức logic là về cấu trúc của truy vấn và các bảng. Hãy cố gắng tối đa hóa điều này trước. Mục tiêu là truy cập ít dữ liệu nhất có thể ở cấp logic.

  • Có các truy vấn SQL hiệu quả nhất
  • Thiết kế một lược đồ logic hỗ trợ nhu cầu của ứng dụng (ví dụ:loại cột, v.v.)
  • Thiết kế sự cân bằng để hỗ trợ một số trường hợp sử dụng tốt hơn các trường hợp khác
  • Ràng buộc quan hệ
  • Chuẩn hóa

Tối ưu hóa thiết kế vật lý

Mức độ vật lý giải quyết vấn đề xem xét không logic, chẳng hạn như loại chỉ mục, tham số của bảng, v.v. Mục tiêu là tối ưu hóa IO vốn luôn là điểm nghẽn. Điều chỉnh từng bảng để phù hợp với nhu cầu của nó. Bảng nhỏ có thể được tải vĩnh viễn trong bộ đệm DBMS, bảng có tốc độ ghi thấp có thể có cài đặt khác với bảng có tốc độ cập nhật cao để chiếm ít dung lượng đĩa hơn, v.v. Tùy thuộc vào truy vấn, có thể sử dụng chỉ mục khác nhau, v.v. Bạn có thể dữ liệu không chuẩn hóa một cách minh bạch với các chế độ xem cụ thể hóa, v.v.

  • Paremeters bảng (kích thước phân bổ, v.v.)
  • Chỉ mục (kết hợp, loại, v.v.)
  • Thông số toàn hệ thống (kích thước bộ nhớ cache, v.v.)
  • Phân vùng
  • Chuẩn hóa

Trước tiên, hãy thử cải thiện thiết kế logic, sau đó là thiết kế vật lý. (Tuy nhiên, ranh giới giữa cả hai rất mơ hồ, vì vậy chúng ta có thể tranh luận về cách phân loại của tôi).

Tối ưu hóa việc bảo trì

Cơ sở dữ liệu phải được vận hành chính xác để luôn hoạt động hiệu quả nhất có thể. Điều này bao gồm một số thẻ bảo trì có thể có tác động đến nhiệt độ, ví dụ:

  • Cập nhật số liệu thống kê
  • Định kỳ sắp xếp lại các bảng quan trọng
  • Bảo trì đĩa
  • Tất cả những thứ hệ thống để có một máy chủ hoạt động được


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. phát triển ứng dụng SQL 2005 bằng máy chủ SQL 2008

  2. SQL Server - Điều gì xảy ra khi một hàng trong bảng được cập nhật?

  3. Mọi Bảng Người dùng có nên có Chỉ mục được phân cụm không?

  4. Trả về hai bộ kết quả khi sử dụng WITH TempResults AS

  5. Đọc Snapshot VS Snapshot Isolation mức cam kết