Đối với một người biết nội bộ cơ sở dữ liệu, đây có thể là một câu hỏi dễ, nhưng ai đó có thể giải thích một cách rõ ràng tại sao lưu trữ các đốm màu lớn (nói phim 400 MB) trong cơ sở dữ liệu được cho là làm giảm hiệu suất và điều đó chính xác có nghĩa là gì? Đây là một yêu cầu thường được tìm thấy trên internet, nhưng tôi chưa bao giờ thấy nó thực sự được giải thích.
Cụ thể, tôi đang đề cập đến hiệu suất SharePoint / MSSQL, tức là hiệu suất tải tệp, duyệt trang, hiển thị danh sách, mở tài liệu, v.v. - các hoạt động được cho là chậm hơn khi cơ sở dữ liệu quá lớn. Sự xuất hiện của Blob sang hệ thống tập tin (trong SharePoint được gọi là Remote Blob Storage, hay còn gọi là di chuyển các tệp ra khỏi cơ sở dữ liệu, chỉ để lại một tham chiếu) được cho là giải quyết vấn đề này ở mức độ nào, nhưng chính xác - ở cấp độ dưới cùng - có phải là sự khác biệt? Rõ ràng là các bản sao lưu sẽ mất nhiều thời gian hơn với các tệp khổng lồ được lưu trữ trong cơ sở dữ liệu ... nhưng chính xác các hoạt động nào bị ảnh hưởng và cơ chế cơ bản của nó (nghĩa là các tệp được lưu trữ trên hệ thống tệp bên ngoài cơ sở dữ liệu được truy cập hoặc lưu trữ khác nhau như thế nào)?
Giả sử một bảng đơn giản chứa các cột ID(guid, PK), FileName(string), Data(varbinary(max))
- liệu Data
cột lớn có thực sự làm chậm các hoạt động như hiển thị danh sách các tệp trên trang web (mà tôi cho rằng bên trong có nghĩa là đang chạy SELECT FileName FROM table
) hoặc chèn một hàng mới? Nó không giống như các cột nội dung nhị phân thực tế được lập chỉ mục.
Tôi biết đã có một số câu hỏi như thế này được hỏi, nhưng tôi không tìm thấy lời giải thích thỏa đáng.