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

Chuẩn hóa một bảng cực kỳ lớn

Bạn sẽ tìm thấy những lợi ích khác để chuẩn hóa dữ liệu bên cạnh tốc độ của các truy vấn chạy ngược lại nó ... chẳng hạn như kích thước và khả năng bảo trì, chỉ riêng điều này cũng đủ để chuẩn hóa nó ...

Tuy nhiên, nó cũng có thể sẽ cải thiện tốc độ của các truy vấn; hiện có một hàng duy nhất chứa 300 cột văn bản là rất lớn và gần như chắc chắn đã vượt qua Giới hạn 8.060 byte để lưu trữ trang dữ liệu hàng ... và thay vào đó đang được lưu trữ trong ROW_OVERFLOW_DATA hoặc LOB_DATA Đơn vị phân bổ.

Bằng cách giảm kích thước của mỗi hàng thông qua chuẩn hóa, chẳng hạn như thay thế dữ liệu văn bản thừa bằng một TINYINT khóa ngoại và cũng bằng cách xóa các cột không phụ thuộc vào khóa chính của bảng lớn này vào một bảng khác, dữ liệu sẽ không còn bị tràn và bạn cũng sẽ có thể lưu trữ nhiều hàng hơn trên mỗi trang.

Theo như chi phí được thêm vào bằng cách thực hiện JOIN để lấy dữ liệu chuẩn hóa ... nếu bạn lập chỉ mục các bảng của mình đúng cách, điều này sẽ không thêm một lượng chi phí đáng kể. Tuy nhiên, nếu nó thêm chi phí không thể chấp nhận được, thì bạn có thể hủy chuẩn hóa dữ liệu một cách chọn lọc nếu cầ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ối ưu hóa Sql:Xml hoặc Chuỗi phân cách

  2. Trả lại tất cả các ràng buộc bị vô hiệu hóa trong SQL Server (Ví dụ T-SQL)

  3. Làm thế nào để tìm các hàng liên tiếp dựa trên giá trị của một cột?

  4. Kiểm tra tình trạng máy chủ SQL Proactive, Phần 1:Dung lượng đĩa

  5. Cách hiển thị hai chữ số sau dấu thập phân trong SQL Server