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

SQL SERVER 2016 - So sánh các kế hoạch thực thi

Các công cụ mới mang lại những khả năng mới và đôi khi những khả năng này đã ăn sâu vào sản phẩm mà chúng ta có thể dễ dàng bỏ sót. Và SQL Server 2016 cũng không khác. Sau khi cài đặt CTP, tôi thực sự ngạc nhiên khi thấy phần bổ sung này để giúp DBA của chúng tôi, những người đang thực hiện các hoạt động điều chỉnh hiệu suất và điều chỉnh truy vấn.

Vậy tôi đang nói về điều gì? Hãy nghĩ về một tình huống trong đó bạn đang thực hiện một số loại thử nghiệm trong môi trường QA của mình. Có vẻ như bạn đang khắc phục sự cố cho một kịch bản sản xuất và nhận thấy rằng chính kịch bản đó đang hoạt động rất tốt trong môi trường thử nghiệm của bạn. Mặc dù bạn đã đưa dữ liệu từ cơ sở dữ liệu sản xuất đến máy chủ QA thử nghiệm cách đây chưa đầy một tháng, bạn vẫn bối rối với câu hỏi - tại sao lại có sự khác biệt này?

Yêu cầu tiếp theo mà mọi người xem xét là bắt đầu so sánh các kế hoạch thực thi giữa môi trường sản xuất và thử nghiệm của bạn cho cùng một truy vấn. Một số kế hoạch thực thi trên máy chủ sản xuất đôi khi có thể chạy đến các trang và rất khó tìm thấy sự khác biệt bằng mắt thường.

SQL Server 2016 - So sánh kế hoạch

Nếu bạn có kế hoạch thực thi từ môi trường sản xuất của mình, hãy tiếp tục và mở nó trong SQL Server 2016 Management Studio và nhấp chuột phải để nhận tùy chọn sau:

Bạn có thể thấy rằng một sự bổ sung thú vị. "So sánh Showplan" cần được chọn. Bây giờ, hãy chọn gói được tạo từ môi trường thử nghiệm của bạn. Điều này sẽ làm cho cả hai kế hoạch thực hiện ở chế độ xem song song như được hiển thị bên dưới. Nhìn vào màu Tím trên các nút.

Điều này thể hiện thực tế là cả hai nút đều giống nhau nhưng có một số khác biệt trong một số thuộc tính. Bây giờ, chúng tôi tùy thuộc vào việc nhấp chuột phải và đưa tab thuộc tính.

Ở đây chúng ta có thể tiếp tục và so sánh từng thuộc tính của nút để tìm ra đâu là điểm phân biệt giữa các kế hoạch. Đây là khả năng tuyệt vời được thêm vào trong phiên bản mới.

Tôi chắc chắn rằng bạn sẽ thấy tính năng này rất hữu ích trong các bài tập điều chỉnh truy vấn trong môi trường của bạn. Phải nói rằng, một điều tôi thấy thú vị là, nếu bạn thực hiện trực tiếp “Kế hoạch thực thi thực tế” và sau đó thử so sánh nó với một tệp .sqlplan đã lưu - nó sẽ xuất hiện một lỗi như được hiển thị bên dưới:

Hãy cho tôi biết liệu bạn có sử dụng tính năng này không và nếu bạn đã sử dụng tính năng này - một số cải tiến mà bạn mong muốn toán tử so sánh này có là gì? Tôi muốn học hỏi từ bạn chắc chắn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kết quả kép trong mảng của tôi (mysql_fetch_array)

  2. sql tham gia hai bảng

  3. Kết xuất tất cả các bảng ở định dạng CSV bằng cách sử dụng 'mysqldump'

  4. Sắp xếp lại / đặt lại khóa chính tăng tự động

  5. Trả lại hàng 'cuối cùng' của mỗi 'nhóm theo' trong MySQL