Những thói quen tốt khi viết câu lệnh T-SQL- P1
Số trang: 5
Loại file: pdf
Dung lượng: 327.63 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu những thói quen tốt khi viết câu lệnh t-sql- p1, công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Những thói quen tốt khi viết câu lệnh T-SQL- P1Những thói quen tốt khi viết câu lệnh T-SQLHiệu năng ứng dụng phụ thuộc vào rất nhiều yếu tố,trong đó có một yếu tố rất quan trọng đó là thời gian đểmáy chủ SQL xử lý câu lệnh T-SQL.Đôi khi thiết kế cơ sở dữ liệu và các yêu cầu truy vấnphức tạp làm cản trở tốc độ thực thi của các câu lệnhT-SQL. Cách viết code từng câu lệnh T-SQL cũng cóthể khiến máy chủ SQL phải làm việc nhiều hơn đểxử lý truy vấn. Bài viết sau đây sẽ giới thiệu cho bạnnhững thói quen tốt nên tập luyện khi viết code T-SQL. Qua đó bạn có thể hiểu làm thế nào để viết cáccâu truy vấn tối ưu, tận dụng tốt tài nguyên máy chủSQL và cải thiện hiệu suất.Ghi rõ tên cột trong câu lệnh SELECTSELECT * FROM MyTable;Bạn đã từng viết câu lệnh như trên bao nhiêu lần?Việc sử dụng dấu sao (*) cho cơ sở dữ liệu biết rằngbạn muốn trả về tất cả các cột từ bảng (hoặc cácbảng) được khai báo trong mệnh đề FROM. Đâykhông phải là một thói quen tốt ngay cả khi bạnmuốn tất cả các cột được trả về ứng dụng. Tốt hơnbạn nên ghi rõ tên từng cột trong bảng như sau:SELECT ID, Description,DateModified FROM MyTable;Việc khai báo rõ ràng tên các cột trong câu lệnhSELECT mang lại rất nhiều lợi ích. Thứ nhất, máychủ SQL sẽ chỉ trả về dữ liệu cần thiết cho ứng dụngchứ không phải là một đống dữ liệu mà trong đó cónhiều thứ ứng dụng của bạn không hề cần đến. Bằngcách chỉ yêu cầu trả về những dữ liệu cần thiết, bạnđã góp phần tối ưu hóa khối lượng công việc máy chủSQL cần thực hiện để thu thập tất cả các cột củathông tin bạn yêu cầu. Ngoài ra, nhờ không sử dụngdấu sao (*) nên bạn đã giảm thiểu lưu lượng truyềntải qua mạng (số byte) cần thiết để gửi các dữ liệuliên quan đến câu lệnh SELECT tới ứng dụng.Trong trường hợp bạn dùng dấu sao (*) và có một aiđó thêm cột mới vào bảng, ứng dụng của bạn sẽ bắtđầu tiếp nhận dữ liệu cho cột này mà không thay đổimã nguồn ứng dụng. Nếu ứng dụng của bạn chờ đợisố lượng cột nhất định được trả về, nó sẽ bị lỗi ngaykhi có người bổ sung cột mới vào một trong các bảngtham chiếu. Bằng việc khai báo rõ ràng tên từng cộttrong câu lệnh SELECT, ứng dụng sẽ luôn nhận đượcsố lượng cố định các cột trả về, ngay cả khi có ngườithêm cột mới vào các bảng tham chiếu trong câu lệnhSELECT. Nhờ vậy, bạn đã giúp ứng dụng tránh khỏinhững nguy cơ tiềm tàng liên quan đến các thay đổicơ sở dữ liệu có thể xảy đến với bất kỳ bảng nào bạntham chiếu tới trong câu lệnh SELECT.Ghi rõ tên cột trong câu lệnh INSERTCũng giống như trên, bạn nên chỉ rõ tên từng cột bạnmuốn chèn dữ liệu vào trong câu lệnh INSERT.Đừng viết câu lệnh INSERT như sau:INSERT INTO MyTable VALUES(A,B,C);Khi bạn viết kiểu này, máy chủ SQL đòi hỏi chỉ đúngba cột được định nghĩa trong bảng MyTable, và giátrị “A” sẽ được chèn vào cột đầu tiên, “B” vào cộtthứ hai, “C” vào cột cuối. Nếu ai đó thêm mới mộtcột vào bảng MyTable, ứng dụng của bạn sẽ bị lỗi:Msg 213, Level 16, State 1, Line 1Column name or number of suppliedvalues does not match tabledefinition.(Tên cột hoặc số lượng giá trị không khớp với bảng)Vì thế, thay vì viết câu lệnh INSERT như trên, bạnnên viết như sau:INSERT INTO MyTable(So1, So2, So3)VALUES (A,B,C);Bằng cách viết trên, khi ai đó thêm mới một cột tên là“So4” vào bảng MyTable, câu lệnh INSERT vẫn tiếp
Nội dung trích xuất từ tài liệu:
Những thói quen tốt khi viết câu lệnh T-SQL- P1Những thói quen tốt khi viết câu lệnh T-SQLHiệu năng ứng dụng phụ thuộc vào rất nhiều yếu tố,trong đó có một yếu tố rất quan trọng đó là thời gian đểmáy chủ SQL xử lý câu lệnh T-SQL.Đôi khi thiết kế cơ sở dữ liệu và các yêu cầu truy vấnphức tạp làm cản trở tốc độ thực thi của các câu lệnhT-SQL. Cách viết code từng câu lệnh T-SQL cũng cóthể khiến máy chủ SQL phải làm việc nhiều hơn đểxử lý truy vấn. Bài viết sau đây sẽ giới thiệu cho bạnnhững thói quen tốt nên tập luyện khi viết code T-SQL. Qua đó bạn có thể hiểu làm thế nào để viết cáccâu truy vấn tối ưu, tận dụng tốt tài nguyên máy chủSQL và cải thiện hiệu suất.Ghi rõ tên cột trong câu lệnh SELECTSELECT * FROM MyTable;Bạn đã từng viết câu lệnh như trên bao nhiêu lần?Việc sử dụng dấu sao (*) cho cơ sở dữ liệu biết rằngbạn muốn trả về tất cả các cột từ bảng (hoặc cácbảng) được khai báo trong mệnh đề FROM. Đâykhông phải là một thói quen tốt ngay cả khi bạnmuốn tất cả các cột được trả về ứng dụng. Tốt hơnbạn nên ghi rõ tên từng cột trong bảng như sau:SELECT ID, Description,DateModified FROM MyTable;Việc khai báo rõ ràng tên các cột trong câu lệnhSELECT mang lại rất nhiều lợi ích. Thứ nhất, máychủ SQL sẽ chỉ trả về dữ liệu cần thiết cho ứng dụngchứ không phải là một đống dữ liệu mà trong đó cónhiều thứ ứng dụng của bạn không hề cần đến. Bằngcách chỉ yêu cầu trả về những dữ liệu cần thiết, bạnđã góp phần tối ưu hóa khối lượng công việc máy chủSQL cần thực hiện để thu thập tất cả các cột củathông tin bạn yêu cầu. Ngoài ra, nhờ không sử dụngdấu sao (*) nên bạn đã giảm thiểu lưu lượng truyềntải qua mạng (số byte) cần thiết để gửi các dữ liệuliên quan đến câu lệnh SELECT tới ứng dụng.Trong trường hợp bạn dùng dấu sao (*) và có một aiđó thêm cột mới vào bảng, ứng dụng của bạn sẽ bắtđầu tiếp nhận dữ liệu cho cột này mà không thay đổimã nguồn ứng dụng. Nếu ứng dụng của bạn chờ đợisố lượng cột nhất định được trả về, nó sẽ bị lỗi ngaykhi có người bổ sung cột mới vào một trong các bảngtham chiếu. Bằng việc khai báo rõ ràng tên từng cộttrong câu lệnh SELECT, ứng dụng sẽ luôn nhận đượcsố lượng cố định các cột trả về, ngay cả khi có ngườithêm cột mới vào các bảng tham chiếu trong câu lệnhSELECT. Nhờ vậy, bạn đã giúp ứng dụng tránh khỏinhững nguy cơ tiềm tàng liên quan đến các thay đổicơ sở dữ liệu có thể xảy đến với bất kỳ bảng nào bạntham chiếu tới trong câu lệnh SELECT.Ghi rõ tên cột trong câu lệnh INSERTCũng giống như trên, bạn nên chỉ rõ tên từng cột bạnmuốn chèn dữ liệu vào trong câu lệnh INSERT.Đừng viết câu lệnh INSERT như sau:INSERT INTO MyTable VALUES(A,B,C);Khi bạn viết kiểu này, máy chủ SQL đòi hỏi chỉ đúngba cột được định nghĩa trong bảng MyTable, và giátrị “A” sẽ được chèn vào cột đầu tiên, “B” vào cộtthứ hai, “C” vào cột cuối. Nếu ai đó thêm mới mộtcột vào bảng MyTable, ứng dụng của bạn sẽ bị lỗi:Msg 213, Level 16, State 1, Line 1Column name or number of suppliedvalues does not match tabledefinition.(Tên cột hoặc số lượng giá trị không khớp với bảng)Vì thế, thay vì viết câu lệnh INSERT như trên, bạnnên viết như sau:INSERT INTO MyTable(So1, So2, So3)VALUES (A,B,C);Bằng cách viết trên, khi ai đó thêm mới một cột tên là“So4” vào bảng MyTable, câu lệnh INSERT vẫn tiếp
Tìm kiếm theo từ khóa liên quan:
cơ sở dữ liệu quan hệ cơ sở dữ liệu quan hệ database relationship thiết kế cơ sở dữ liệu quan hệ phương pháp thiết kế ngôn ngữ sqlGợi ý tài liệu liên quan:
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 293 0 0 -
Giáo trình Lập trình quản lý với Microsoft Access 2013 toàn tập: Phần 1
195 trang 236 0 0 -
Xây dựng ontology cho hệ thống truy vấn dữ liệu tùy chọn
5 trang 143 0 0 -
Mô tả công việc Chuyên gia cố vấn UI-UX
1 trang 98 0 0 -
26 trang 72 0 0
-
54 trang 69 0 0
-
Giáo trình Nhập môn cơ sở dữ liệu: Phần 2 - Trần Thành Trai
145 trang 68 0 0 -
Giáo trình Tin học ứng dụng trong kinh doanh
170 trang 58 0 0 -
Bài giảng Cơ sở dữ liệu - Hồ Cẩm Hà
163 trang 53 0 0 -
Đề thi Thực hành Cơ sở dữ liệu - Đề số 10
1 trang 47 1 0