Những thói quen tốt khi viết câu lệnh T-SQL (Phần 3)

Trong phần ba này, bài viết sẽ giới thiệu cho bạn cách viết câu lệnh T-SQL để đẩy mạnh việc tái sử dụng sơ đồ lưu cache.

Quản Trị Mạng - Trong phần ba này hướng dẫn , bài viết tối ưu sẽ giới thiệu cho bạn cách viết câu lệnh T-SQL địa chỉ để đẩy mạnh việc tái sử dụng sơ đồ lưu cache (bộ nhớ đệm) quản lý . Hiểu rõ vấn đề các khoảng trắng và ghi chú tác động thế nào tới việc tạo sơ đồ mới lưu cache hay tái sử dụng sơ đồ sẵn có hỗ trợ sẽ giúp bạn giảm thiểu số lượng sơ đồ mà ứng dụng qua app của bạn phải lưu cache.

Những thói quen tốt khi viết câu lệnh T-SQL (Phần 3)Phần 1
Những thói quen tốt khi viết câu lệnh T-SQL (Phần 3)Phần 2

Khám phá sơ đồ lưu bộ nhớ đệm

Bạn đã tận dụng giá rẻ được lợi thế từ việc lưu sơ đồ trên bộ nhớ đệm chưa tốc độ ? Bạn đã khai thác các sơ đồ lưu cache đến mức nào mật khẩu ? Ứng dụng ứng dụng của bạn chỉ sử dụng chúng một lần hay tận dụng nhiều lần download ? Bạn có nhiều sơ đồ lưu cache cho cùng một truy vấn trong cache thủ tục cùng lúc không chia sẻ ? Khoảng trống các sơ đồ lưu cache sử dụng là bao nhiêu miễn phí ? Trên đây là một số câu hỏi bạn cần trả lời như thế nào để chắc rằng bạn đã tối ưu hóa cache thủ tục và giảm thiểu số lượng sơ đồ lưu cache mà ứng dụng tạo ra download . Có một vài vấn đề nhỏ trong cách viết câu lệnh T-SQL công cụ của bạn là nguyên nhân khiến máy chủ SQL phải thực hiện thêm nhiều việc link down để biên dịch và lưu cache các sơ đồ thực thi cho cùng một đoạn code.

Trước khi máy chủ SQL có thể tiến hành xử lý đoạn code T-SQL ở đâu uy tín , nó cần tạo một bản sơ đồ thực thi ứng dụng . Để tạo bản sơ đồ thực thi khóa chặn , trước tiên máy chủ SQL phải tiêu tốn chi tiết những nguồn tài nguyên giá trị như CPU ở đâu tốt nhằm biên dịch code T-SQL quảng cáo . mẹo vặt Khi sơ đồ qua web được tạo xong giả mạo , nó mới nhất sẽ công cụ được lưu cache tài khoản để có thể tái sử dụng khi ứng dụng gọi cùng một câu lệnh T-SQL nhiều hơn một lần quảng cáo . Bạn có thể cải thiện hiệu suất máy chủ SQL nguyên nhân nếu bạn viết câu lệnh T-SQL như thế nào để tăng cường tái sử dụng sơ đồ lưu cache download với vô hiệu hóa những đoạn T-SQL thường xuyên tổng hợp được thực thi.

Với sự xuất hiện chi tiết của SQL Server 2005 dịch vụ , Microsoft cung cấp các DMV (Dynamic Management Views - Cửa sổ quản lý động) cho phép bạn khám phá các sơ đồ lưu hỗ trợ . Bằng cách sử dụng các DMV ở đâu nhanh , bạn có thể tìm hiểu hỗ trợ được nhiều điều về các sơ đồ lưu cache kích hoạt . Sau đây là danh sách tóm tắt nạp tiền những thứ bạn có thể nhận biết:

  • Các đoạn text liên quan tới sơ đồ lưu cache
  • Số lần sơ đồ lưu cache như thế nào được thực thi
  • Kích cỡ sơ đồ lưu cache

Ở đoạn sau danh sách của bài viết an toàn , tôi địa chỉ sẽ hướng dẫn các bạn cách sử dụng DMV nơi nào để tìm hiểu thông tin sơ đồ lưu cache.

Tạo nhiều sơ đồ vì các ghi chú tối ưu hoặc khoảng trắng thừa

Tôi chắc rằng các bạn đều ủng hộ ý tưởng đặt code vào các thủ tục lưu trữ (Stored Procedure - SP) nơi nào . Chúng ta thực hiện việc này công cụ nhằm tăng khả năng tái sử dụng code trong khuôn khổ một ứng dụng đơn lẻ an toàn hoặc trên nhiều ứng dụng qua mạng . Tuy nhiên công cụ , không phải ở đâu tốt tất cả các đoạn code tối ưu được thực thi tự động bởi máy chủ SQL đều nằm trong các SP giả mạo . Vài ứng dụng có thể nhanh nhất được viết bằng các lệnh T-SQL dạng in-line (lệnh thô) giả mạo . qua web Nếu bạn đang viết các đoạn mã T-SQL dạng thô hướng dẫn , bạn cần phải cẩn thận khi ghi chú như thế nào hoặc đặt khoảng trắng giá rẻ bởi nó có thể là nguyên nhân khiến máy chủ SQL tạo nhiều sơ đồ lưu cache cho cùng một đoạn code T-SQL.

Sau đây là một ví dụ gồm hai câu lệnh T-SQL khác nhau:

SELECT * FROM AdventureWorks.Production.Product
GO
SELECT * FROM AdventureWorks.Production.Product -- return records
GO

Như bạn thấy qua mạng , tôi có hai câu lệnh T-SQL giống nhau quản lý . Cả hai đều trả về hỗ trợ tất cả bản ghi từ bảng AdventureWorks.Production.Product hỗ trợ . Vậy bạn nghĩ máy chủ SQL cập nhật sẽ tạo ra bao nhiêu sơ đồ lưu cache khi chạy đoạn mã trên nhanh nhất ? Để trả lời câu hỏi này qua app , tôi kiểm tra sẽ tìm hiểu thông tin sơ đồ lưu cache bằng cách sử dụng các DMV trong SQL Server 2005 và SQL Server 2008 tất toán . Để xem các sơ đồ tạo trực tuyến bởi hai câu lệnh T-SQL trên tính năng , tôi download sẽ chạy đoạn code sau:

DBCC FREEPROCCACHE
GO
SELECT * FROM AdventureWorks.Production.Product
GO
SELECT * FROM AdventureWorks.Production.Product -- return records
GO
SELECT stats.execution_count AS exec_count như thế nào ,
p.size_in_bytes as [size] trên điện thoại ,
[sql].[text] as [plan_text]
FROM sys.dm_exec_cached_plans p
outer apply sys.dm_exec_sql_text (p.plan_handle) sql
join sys.dm_exec_query_stats stats ON stats.plan_handle = p.plan_handle
GO

Trong đoạn code trên tài khoản , trước tiên tôi giải phóng cache thủ tục bằng cách chạy lệnh DBCC FREEPROCCACHE hỗ trợ . Lệnh này xóa bỏ toàn bộ sơ đồ thực thi trong bộ nhớ sửa lỗi . Tuy nhiên tôi lấy liền cũng xin có lời lưu ý rằng bạn không nên sử dụng lệnh này khi làm việc trong doanh nghiệp hướng dẫn bởi nó danh sách sẽ xóa bỏ toàn bộ sơ đồ lưu cache ở đâu tốt . Điều này có thể gây ra hướng dẫn những tác động to lớn tới công việc dữ liệu của bạn do tự động những sơ đồ thường dùng đều bị biên dịch lại quảng cáo . Sau khi giải phóng cache thủ tục ở đâu nhanh , tôi chạy tiếp hai câu lệnh SELECT khác nhau phải làm sao . Cuối cùng thanh toán , tôi liên kết thông tin từ các DMV lại lấy liền để trả về thông tin sơ đồ lưu cache sử dụng của hai câu lệnh SELECT quảng cáo . Sau đây là kết quả nhận giá rẻ được khi chạy đoạn code trên:

exec_count size plan_text
---------- ----- ---------
1 40960 SELECT * FROM AdventureWorks.Production.Product -- return records
1 40960 SELECT * FROM AdventureWorks.Production.Product

Như bạn thấy mật khẩu , hai câu lệnh SELECT trên tạo ra hai sơ đồ lưu cache khác nhau và mỗi sơ đồ nơi nào được thực thi 1 lần (exec_count number) tự động . Sở dĩ chuyện này xảy ra là vì hai câu lệnh SELECT không hoàn toàn giống nhau công cụ . Câu lệnh SELECT thứ hai hơi khác một chút vì có thêm ghi chú sử dụng . Ngoài ra tất toán , các bạn hãy phải làm sao để ý kích cỡ sơ đồ: 40960 byte - kích cỡ bộ nhớ quá lớn dành cho một câu lệnh T-SQL miễn phí rất đơn giản sửa lỗi . Vì thế tốt nhất , bạn nên cẩn thận khi thêm ghi chú vào code giá rẻ , tránh full crack để máy chủ tạo ra nhiều sơ đồ thừa.

Một nguyên nhân khác dẫn đến việc tạo ra nhiều sơ đồ lưu cache cho mẹo vặt những câu lệnh T-SQL giống nhau đó là các khoảng trắng tổng hợp . Sau đây là hai câu lệnh giống nhau ngoại trừ các khoảng trắng:

SELECT * FROM AdventureWorks.Production.Product
GO
SELECT * FROM AdventureWorks.Production.Product
GO

Như bạn thấy tăng tốc , câu lệnh thứ hai có chứa vài khoảng trắng thừa giữa FROM và tên đối tượng tính năng . Các khoảng trắng thừa này là nguyên nhân khiến máy chủ SQL nghĩ rằng đây là hai câu lệnh khác nhau chia sẻ , từ đó dẫn đến việc tạo ra hai sơ đồ lưu cache khác nhau cho hai câu lệnh ứng dụng . Trong trường hợp này hay nhất , hiển nhiên bạn dễ dàng nhận ra sự khác biệt giữa hai câu lệnh chia sẻ bởi lẽ các khoảng trắng nằm ở giữa câu lệnh kiểm tra . Thế khóa chặn nhưng tốc độ nếu bạn vô tình thêm khoảng trắng phía trước mệnh đề SELECT kích hoạt hoặc phía cuối câu lệnh quản lý , bạn qua web sẽ không thể nhận ra các khoảng trắng và câu lệnh nguyên nhân sẽ trông giống hệt nhau mẹo vặt . Tuy nhiên chi tiết , máy chủ SQL thì có thể nhìn thấy mẹo vặt , và thế là nó tạo ra nhiều sơ đồ lưu cache vì các khoảng trắng thừa đó.

giả mạo Khi máy chủ SQL nhìn vào đoạn code tăng tốc , nó nguyên nhân sẽ đem so sánh phải làm sao với các sơ đồ sẵn có trong cache thủ tục tốt nhất . nhanh nhất Nếu xác định đoạn code giống hệt sơ đồ lưu cache sẵn có mới nhất , máy chủ SQL không cần biên dịch và lưu sơ đồ vào bộ nhớ nữa nguyên nhân . Máy chủ SQL ứng dụng sẽ tái sử dụng các sơ đồ có trong cache đối tăng tốc với đăng ký vay những đoạn code giống nhau chia sẻ . Để tối ưu hóa mã nguồn kích hoạt , bạn cần đảm bảo việc tái sử dụng sơ đồ lưu cache nơi nào bất cứ khi nào có thể giá rẻ .

bản quyền Khi bạn đang xây dựng mã nguồn ứng dụng trong đó có sử dụng các câu lệnh T-SQL mà không dùng SP trên điện thoại , bạn cần phải cẩn trọng full crack để đảm bảo nhận địa chỉ được sơ đồ có khả năng tái sử dụng cao nhất có thể tăng tốc . Chúng ta thường dùng phương pháp copy - paste khi muốn sử dụng cùng một đoạn code trong các phần khác nhau kiểm tra của ứng dụng tự động . Tuy nhiên như bạn thấy trong các ví dụ trên tất toán , bạn cần cẩn thận khi thực hiện thao tác này tải về . Chỉ cần một vài khoảng trắng thừa mới nhất hoặc một ghi chú nhỏ dữ liệu cũng khiến máy chủ SQL tạo ra nhiều sơ đồ lưu cache khác nhau.

Nâng hiệu suất lên tối đa và giảm thiểu bộ nhớ

Để tối ưu hóa mã nguồn trực tuyến , dữ liệu nếu chỉ quan tâm đến thiết kế cơ sở dữ liệu thôi thì chưa đủ quản lý , bạn còn cần thanh toán để ý đến từng chi tiết nhỏ hơn chẳng hạn như các khoảng trắng và ghi chú trên điện thoại . full crack Nếu bạn không lưu tâm đến qua mạng những chi tiết quanh các câu lệnh T-SQL giống nhau tính năng , bạn có thể khiến máy chủ SQL tạo ra nhiều sơ đồ lưu cache ở đâu nhanh . Có thể việc có vài sơ đồ lưu cache thừa trong bộ nhớ không phải quá quan trọng kích hoạt , tuy nhiên là một lập trình viên giá rẻ , chúng ta cần cố gắng hết khả năng giá rẻ để nâng cao hiệu suất máy chủ và giảm thiểu tài nguyên sử dụng cập nhật . Và một trong chia sẻ những cách sử dụng để thực hiện mục tiêu trên mật khẩu , đó là tránh tạo ra nhiều sơ đồ lưu cache cho các câu lệnh T-SQL giống nhau.

4.8/5 (73 votes)

Ý kiến khách hàngPreNext