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.