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

SQL SERVER - SQL_NO_CACHE và TÙY CHỌN (RECOMPILE)

Là một nhà phát triển và DBA, những người thường ưa thích công nghệ nhưng nếu chúng tôi đang điều hành một tổ chức lớn, chúng tôi phải đáp ứng nhiều công nghệ hơn. Một trong những khách hàng ngân hàng lớn của tôi sử dụng nhiều cơ sở dữ liệu để thực hiện nhiều giao dịch khác nhau. Họ cũng đang sử dụng nhiều giải pháp bộ nhớ đệm khác nhau cho doanh nghiệp của họ cũng như phần cứng hàng đầu. Tôi đã có một cuộc trò chuyện rất thú vị với khách hàng của mình về chủ đề cách truy xuất truy vấn, không phải từ bộ nhớ cache cho MySQL và SQL Server, chúng tôi đã thảo luận về SQL_NO_CACHE và TÙY CHỌN (RECOMPILE). Chúng tôi đã thảo luận trong quá trình Kiểm tra tình trạng hiệu suất cơ sở dữ liệu toàn diện .

Hôm nay chúng ta hãy xem hai ví dụ khác nhau cho MySQL và SQL Server. Cả hai cơ sở dữ liệu quan hệ đều tận dụng lợi thế của bộ nhớ đệm để trả về cho chúng ta dữ liệu. Hãy để chúng tôi xem cách chúng tôi có thể viết một truy vấn trong đó chúng tôi sẽ không sử dụng kết quả được lưu trong bộ nhớ cache mà lấy trực tiếp dữ liệu của chúng tôi từ đĩa SQL Server chứ không phải từ bộ nhớ cache.

Truy vấn SQL Server - TÙY CHỌN (RECOMPILE)

SELECT Columnname
FROM TableName
OPTION(RECOMPILE)

Truy vấn MySQL SQL_NO_CACHE

SELECT SQL_NO_CACHE Columnname
FROM TableName
OPTION(RECOMPILE)

Khi bạn sử dụng SQL_NO_CACHE và OPTION (RECOMPILE), cơ sở dữ liệu quan hệ (tương ứng là MySQL và SQL Server) đang truy xuất trực tiếp dữ liệu từ đĩa chứ không phải những gì được lưu trữ trong bộ đệm.

Dưới đây là một số bài đăng blog có liên quan về cùng chủ đề mà bạn có thể thấy thú vị.

  • SQL SERVER - Kế hoạch Truy vấn Danh sách, Kích thước Bộ nhớ đệm, Văn bản và Số lượng Thực thi
  • SQL SERVER - Tìm kế hoạch truy vấn cũ nhất từ ​​bộ nhớ cache
  • SQL SERVER - Lập kế hoạch Cache và Data Cache trong Bộ nhớ
  • SQL SERVER - Thủ tục được Lưu trữ - Dọn dẹp Bộ nhớ đệm và Bộ đệm Dọn dẹp
  • SQL SERVER - Xóa tất cả các gói truy vấn được lưu trong bộ nhớ cache không được sử dụng trong một số khoảng thời gian nhất định
  • SQL SERVER - Tập lệnh để có được kế hoạch đã biên dịch với các tham số từ bộ nhớ đệm
  • SQL SERVER - Plan Cache - Truy xuất và Xóa - Tập lệnh Đơn giản
  • SQL SERVER - 2017 - Tập lệnh Xoá Bộ nhớ cache Thủ tục ở Cấp Cơ sở dữ liệu

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL 1062 - Mục nhập trùng lặp '0' cho khóa 'CHÍNH'

  2. Nhiều truy vấn được thực thi trong java trong một câu lệnh

  3. Hàm MySQL DEGREES () - Chuyển đổi từ Radian sang Độ

  4. Kết nối Visual COBOL với MySQL

  5. Làm thế nào để xử lý lỗi cho các mục nhập trùng lặp?