Câu hỏi phỏng vấn T-SQL
Câu hỏi

Sự khác biệt giữa *EXEC...

Câu trả lời

Sự khác biệt chính giữa EXEC và sp_executesql trong SQL Server là:

  • EXEC hoặc EXECUTE: Được sử dụng để thực thi một truy vấn SQL động hoặc một Stored Procedure. Truy vấn SQL động có thể được lưu trữ trong một biến chuỗi hoặc được thực thi trực tiếp. EXEC không hỗ trợ việc sử dụng tham số và có thể dẫn đến việc tạo ra các kế hoạch thực thi chỉ sử dụng một lần, gây lãng phí bộ nhớ.

  • sp_executesql: Là một Stored Procedure hệ thống của SQL Server, được sử dụng để thực thi truy vấn SQL động với giá trị tham số. sp_executesql cho phép tái sử dụng các kế hoạch thực thi đã được lưu trong bộ nhớ cache của SQL Server, giúp cải thiện hiệu suất khi cùng một truy vấn được gọi nhiều lần. Ngoài ra, sp_executesql cung cấp một lớp bảo mật cao hơn so với EXEC bằng cách cho phép tham số hóa, giúp giảm thiểu nguy cơ bị tấn công SQL injection.

Một số điểm khác biệt cụ thể:

  • Tham số hóa: sp_executesql hỗ trợ tham số hóa trong khi EXEC không hỗ trợ. Điều này giúp sp_executesql an toàn hơn trong việc ngăn chặn SQL injection và tận dụng đư...
senior

senior

Gợi ý câu hỏi phỏng vấn

entry

Có thể đổi tên cơ sở dữ liệu không? Nếu có, bạn sẽ đổi tên cơ sở dữ liệu như thế nào?

junior

Liệt kê 5 lệnh có thể được sử dụng để thao tác với văn bản trong mã T-SQL

middle

Những khác biệt thực tế giữa COALESCE()ISNULL(,'') là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào