Tôi có một bảng với 25 cột, trong đó 20 cột có thể có giá trị null cho một số hàng (30-40%). Bây giờ chi phí của việc có hàng với 20 cột null là bao nhiêu? Điều này có ổn không?Câu hỏi thiết kế Sql
Hoặc
có thiết kế tốt để có một bảng khác để lưu trữ 20 cột đó và thêm bảng ref vào bảng đầu tiên không? Bằng cách này tôi sẽ chỉ ghi vào bảng thứ hai chỉ khi có giá trị.
Tôi đang sử dụng máy chủ SQL 2005. Sẽ di chuyển sang năm 2008 trong tương lai.
Chỉ 20 cột varchar, smallint nghỉ ngơi, smalldate
Những gì tôi đang lưu trữ: Các cột này lưu trữ các thuộc tính khác nhau của hàng nó thuộc về. Các thuộc tính này có thể là null đôi khi.
Bảng sẽ giữ ~ tỷ hàng
Vui lòng nhận xét.
Bạn đang sử dụng máy chủ cơ sở dữ liệu nào? SQL Server 2008 hỗ trợ khái niệm các cột thưa thớt hỗ trợ kịch bản của bạn với tác động tối thiểu. –
Hãy xem câu trả lời này: http://stackoverflow.com/questions/229179/null-in-mysql-performance-storage/230923#230923 Và http://dev.mysql.com/doc/refman/5.0/ vi/làm việc với null.html – RobertPitt
Bạn đã xem xét kế thừa bảng chưa? –