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

5 lỗi thiết kế truy vấn SQL rất phổ biến cần tránh bằng mọi giá

Để chạy cơ sở dữ liệu SQL Server thành công, bạn phải quan tâm đến thiết kế truy vấn. Thật không may, hầu hết mọi người không nghĩ đến quá trình thiết kế. Do đó, họ mắc phải những sai lầm đơn giản, mặc dù dễ tránh, nhưng lại gây ra hậu quả sâu rộng.

Đối với người mới bắt đầu, với các truy vấn được viết kém, bạn không thể đảm bảo cho người dùng thời gian truy xuất nhanh như chớp. Máy chủ của bạn cũng sẽ bị cản trở bởi các vấn đề ngay từ ngày đầu tiên. Và trong thế giới kỹ thuật số ngày nay, đây là những sai lầm bạn không thể mắc phải. Nhưng, làm thế nào để bạn tránh mắc phải những sai lầm này? Dưới đây là các mẹo về cách thực hiện nó.

1. Không xem lại được mô hình dữ liệu của bạn

Mô hình dữ liệu của bạn xác định cách người dùng truy cập dữ liệu. Vì vậy, hãy suy nghĩ kỹ mô hình của bạn ngay từ đầu. Nếu không, bạn sẽ phải đối phó với các truy vấn khó sử dụng và mã phức tạp xuống dòng, và cả hai đều tác động tiêu cực đến hiệu suất. Một cách dễ dàng để tìm ra những truy vấn nào cần thiết để truy cập dữ liệu là in ra mô hình dữ liệu của bạn.

Hoặc, tốt hơn hết, hãy nhờ một công cụ lập mô hình dữ liệu làm việc đó cho bạn. Công cụ in ra hoặc mô hình hóa cho phép bạn xem những gì bạn đang làm. Do đó, bạn có một vị trí tốt hơn để đơn giản hóa mã, tăng thời gian viết mã, tăng độ chính xác và cải thiện hiệu suất.

2. Không xem xét kỹ thuật của bạn

Bạn sử dụng kỹ thuật nào? Đó là logic con trỏ, hay logic dựa trên tập hợp? Không có câu trả lời dễ dàng cho câu hỏi cụ thể này:tất cả phụ thuộc vào hiệu suất phù hợp nhất với nhu cầu của bạn. Lấy ví dụ, dựa trên logic dựa trên bộ. Đó là sự lựa chọn hiển nhiên để truy cập cơ sở dữ liệu. Rốt cuộc, một SQL Server được thiết kế cho nó. Tuy nhiên, trong một số trường hợp, logic con trỏ có thể hoạt động tốt hơn logic dựa trên. Điều quan trọng là không sử dụng kỹ thuật này khi kỹ thuật kia sẽ tốt hơn.

3. Không sử dụng các kỹ thuật mã hóa cũ

Khi bạn sử dụng các kỹ thuật mã hóa đã được thử nghiệm và kiểm tra, bạn hiếm khi gặp rắc rối. Ngay cả các phương pháp viết mã bạn đã học được từ SQL Server 2005 cũng có thể hữu ích cho ngày hôm nay. Cố gắng sử dụng kỹ thuật xử lý lỗi TRY… CATCH trong mã hóa của bạn. Các kết quả có thể làm bạn ngạc nhiên. Việc sử dụng Biểu thức bảng chung cho cấu trúc phân cấp hoặc công cụ cơ sở dữ liệu Thời gian chạy ngôn ngữ chung (CLR) cũng có thể khiến bạn ngạc nhiên.

Nếu bạn cần trợ giúp để ôn lại các kỹ thuật cũ, hãy sửa lại và tìm một số bài báo trực tuyến. Có rất nhiều trên mạng. Đây và đây là một vài ví dụ về SQL.

4. Không tận dụng đánh giá ngang hàng

Trước khi triển khai các kế hoạch truy vấn của mình, bạn nên nhờ người khác xem xét. Rất có thể người khác sẽ nhìn thấy những gì bạn đã bỏ lỡ. Các đánh giá của họ về chỉ mục và hiệu suất truy vấn của bạn thường giúp bạn cải thiện hơn nữa mã của mình. Họ cũng có thể học được một hoặc hai điều từ bạn trong quá trình này và ngược lại.

5. Không kiểm tra được các truy vấn của bạn

Các nhà phát triển ghét phải kiểm tra mã. Đầu tiên, nó nghiêm ngặt. Và thứ hai, môi trường thử nghiệm (phần cứng và dữ liệu) hiếm khi phù hợp với môi trường sản xuất thực. Nhưng kiểm tra là một phần cần thiết và không thể tránh khỏi của mã hóa. Vì vậy, hãy kiểm tra kỹ lưỡng mã của bạn và nếu có thể, hãy cố gắng bắt chước môi trường sản xuất cuối cùng càng gần càng tốt. Hãy nhớ rằng, các truy vấn của bạn có thể hoạt động tốt với vài trăm bản ghi, nhưng không so với hàng triệu bản ghi trong môi trường cuối cùng.

Kết luận

Truy vấn xác định tốc độ và hiệu suất của cơ sở dữ liệu SQL. Vì vậy, hãy cố gắng tránh những sai lầm phổ biến như không xem lại mô hình dữ liệu của bạn, hoặc không cân nhắc kỹ thuật nào sẽ sử dụng. Những người khác không sử dụng các kỹ thuật mã hóa cũ, không tận dụng được cơ chế đánh giá ngang hàng và không kiểm tra được các truy vấn của bạ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. Tổng quan về Lệnh DBCC SHRINKFILE

  2. Thời gian cắt tỉa tính từ ngày giờ - theo dõi

  3. Tính đúng đắn và ràng buộc

  4. Cách xóa cơ sở dữ liệu trong cPanel

  5. Cách tính hình vuông trong SQL