Thật là hoang tưởng :)
DB không tăng kích thước một cách không cần thiết, nhưng đối với các vấn đề về hiệu suất, không gian cũng không được giải phóng.
Điều bạn đã nghe nhiều nhất có lẽ là nếu bạn xóa các bản ghi thì không gian đó sẽ không được trả lại cho Hệ điều hành . Thay vào đó, nó được giữ như một không gian trống để DB sử dụng lại sau đó.
Điều này là do:
- DB cần có một số không gian HD để lưu dữ liệu của nó; nếu nó không có bất kỳ khoảng trống nào, thì lúc đầu, nó sẽ dành một số không gian trống.
- Khi bạn chèn một hàng mới, một phần không gian đó sẽ được sử dụng.
- Khi bạn sử dụng hết dung lượng trống, một khối mới sẽ được đặt trước, v.v.
- Bây giờ, khi bạn xóa một số hàng , để ngăn việc lưu trữ ngày càng nhiều khối, dung lượng của nó được giữ nguyên nhưng không bao giờ được cấp lại cho Hệ điều hành, vì vậy bạn có thể sử dụng lại sau này mà không cần đặt trước khối mới.
Như bạn có thể thấy, không gian là tái sử dụng, nhưng không bao giờ được trả lại. Đó là điểm mấu chốt cho câu hỏi của bạn.