Tôi có một số dữ liệu cột động và số lượng dữ liệu cột có thể tăng/giảm bất cứ lúc nào. Vì vậy, tôi đang lập kế hoạch để lưu trữ chúng trong hàng khôn ngoan thay vì định dạng cột.Cách tốt nhất để lưu trữ dữ liệu cột dưới dạng hàng MS SQL
Tôi có bảng chính được đặt và cột chỉ ra loại dữ liệu mà cột đang sử dụng. Tôi vẽ bảng tổng thể dưới đây để bạn tham khảo
CID Name Type
1 Speed Double
2 Input1 Bool
3 Message String
.......
.......
Bây giờ tôi đã nghĩ đến hai cách để lưu trữ dữ liệu cột cách Đầu tiên năng động này là
CID Data_bool Data_String Data_Double
1 NULL NULL 12
2 True NULL NULL
3 NULL test NULL
1 NULL NULL 5
1 NULL NULL 15
cách thứ hai là phải có một cột VARCHAR khái quát hóa và lưu trữ từng giá trị dưới dạng chuỗi ở trên để nó trông giống như
CID Datas
1 12
2 True
3 test
1 5
1 15
Nếu bạn nhìn vào quan điểm bình thường hóa cơ sở dữ liệu thì cách thứ hai dường như Trở nên tốt. Nhưng tôi nghĩ rằng nó có thể tạo ra vấn đề trong truy xuất dữ liệu. Bởi vì tôi muốn lọc dữ liệu như "Tốc độ> 10". Vì vậy, nếu tôi đi theo cách thứ hai (nơi tôi lưu trữ tất cả giá trị như chuỗi) tôi nghĩ rằng biểu thức sẽ mất nhiều thời gian hơn để đánh giá Và nếu tôi đi theo cách đầu tiên cho biểu thức thì trước tiên tôi cần phải xác định các cột mà tôi cần phải đánh giá biểu hiện. Ví dụ cho biểu thức Tốc độ> 10, đầu tiên tôi phải kiểm tra Tốc độ là loại dữ liệu (chuỗi, bool, v.v.) và sau đó thực hiện lại biểu thức của "data_double> 10"
Cả hai đều có nhược điểm riêng. Ai đó có thể chỉ ra rằng cách nào sẽ cho tôi ít đau đầu hơn trong tương lai. Hãy nhớ rằng bảng này sẽ phát triển trong hàng triệu bản ghi ở giai đoạn sau.
Tôi đánh giá cao tầm nhìn và thời gian của bạn tại đây. cảm ơn bạn.
Sau khi suy nghĩ tất cả các khả năng, tôi đã quyết định đi theo con đường đầu tiên của mình. tôi biết nó không chuẩn hóa nhưng tôi nghĩ nếu tôi đi bình thường thì hiệu suất sẽ là vấn đề lớn. Tôi ổn (với trái tim nặng) với không gian HD hơn là tối ưu hóa tất cả các truy vấn để có hiệu suất nhanh hơn. Bảng này là trọng tâm của tất cả các báo cáo được tính toán. – user867198