Chuyển một số ý kiến từ cuộc thảo luận thành một câu trả lời, với cách diễn đạt lại và định dạng lại ..
Về cơ bản, những gì nó được đưa ra là trừ khi bạn có một trường hợp cực kỳ nghiêm trọng, họ không thực sự cần phải là "rác được thu thập". Nếu bạn không bao giờ lấy chúng, thì việc họ có ở đó hay không cũng không thành vấn đề.
Xem, tạm thời được lưu trữ trong bảng tùy chọn theo mặc định. Trong một cài đặt cơ sở, bảng tùy chọn sẽ có thể có 100 mục trong đó. Mỗi thoáng qua thêm hai mục nữa, nhưng ngay cả khi bạn có hàng nghìn mục, chúng không ảnh hưởng đến tốc độ trang web, vì chúng không được tự động tải.
Khi khởi động, WordPress tải các tùy chọn vào bộ nhớ, nhưng nó chỉ tải các tùy chọn bật cờ tự động tải của họ. Các khách hàng không nhận được điều này và vì vậy đừng tải vào bộ nhớ. Chỉ những khách hàng thực sự được sử dụng sau này mới chịu chi phí.
Từ phối cảnh của cơ sở dữ liệu, bảng tùy chọn có các chỉ mục trên cả Id tùy chọn và tên tùy chọn. Các khách hàng luôn được tải dựa trên tên (khóa) và do đó, việc tra cứu cho họ luôn là các lựa chọn đơn giản trên một giá trị khóa duy nhất. Do đó, tra cứu là O (log (n)) và siêu nhanh. Với Big-O của nhật ký (n), bạn phải vào hàng triệu và hàng triệu hàng trước khi nó trở nên đáng chú ý. Thành thật mà nói, chi phí trong việc thiết lập và phân tích truy vấn, cùng với việc truyền dữ liệu thực tế, là cách lâu hơn. Các truy vấn tự chạy trong thời gian cơ bản bằng không so sánh. Vì vậy, chỉ cần có thêm các hàng không sử dụng sẽ không ảnh hưởng gì ngoài việc sử dụng thêm dung lượng đĩa.
Lập chỉ mục trong cơ sở dữ liệu là một trong những ý tưởng được đọc sâu mà không có ý nghĩa đối với những người thực sự không hiểu những gì đang diễn ra đằng sau hậu trường. Cơ sở dữ liệu được thiết kế để truy xuất dữ liệu nhanh, từ đầu và có thể xử lý loại việc này mà không gặp sự cố. Đây là một bài đọc khá tốt: http://en.wikipedia.org/wiki/Index_(database )
Bây giờ, dọn dẹp theo cách rõ ràng nhất (gọi SQL XÓA trên chúng) không thực sự xóa chúng khỏi cơ sở dữ liệu. Nó chỉ xóa chúng khỏi chỉ mục và đánh dấu hàng là "đã xóa". Một lần nữa, đây chỉ là cách cơ sở dữ liệu hoạt động. Để thực sự dọn sạch không gian đĩa, sau đó bạn phải tiếp tục và thực hiện BẢNG TỐI ƯU sau đó và đây không phải là thao tác nhanh. Nó cần có thời gian. Có lẽ nhiều thời gian hơn giá trị của nó. Tổng cộng có thể không đủ để tiết kiệm thời gian cho CPU.
Nếu bạn có một số trường hợp gây ra việc chèn liên tục các quá độ mới không được sử dụng, thì bạn cần phải tìm vấn đề tiềm ẩn thay thế. Chèn những quá độ này là gì? Họ đang sử dụng một khóa thay đổi hoặc đột biến? Nếu vậy, về cơ bản, plugin hoặc mã gây ra điều này nên được sửa thành, không làm điều đó. Điều đó sẽ hữu ích hơn, bởi vì có khả năng mã không tạo ra chúng đúng cách cũng không lấy được chúng, và do đó thực hiện nhiều công việc hơn nó phải làm.
Mặt khác, có thể có một trường hợp mà các quá độ đang được tạo cho một cái gì đó giống như mọi bài đăng. Điều này thực sự có thể được chấp nhận hoàn toàn. Tôi tự làm điều này trong SFC, để lưu trữ các bình luận đến từ Facebook. Mỗi bài đăng có một tiềm năng thoáng qua liên quan đến nó, có nghĩa là hai hàng thêm cho mỗi bài. Nếu bạn có 10k bài đăng, bạn sẽ có 20k hàng trong bảng tùy chọn (cuối cùng). Điều này không tệ hay chậm, bởi vì một lần nữa, có rất ít sự khác biệt giữa 100 hàng và 20.000 hàng theo như cơ sở dữ liệu thực sự quan tâm. Tất cả đều được lập chỉ mục. Nó nhanh như quái. Sub-sub mili giây.
Khi bạn bắt đầu nhận được hàng triệu hàng, thì tôi sẽ lo lắng. Khi kích thước bảng tùy chọn tăng lên trên hàng trăm megabyte, thì tôi đủ quan tâm để xem xét kỹ hơn. Nhưng nói chung, đây không phải là một vấn đề ngoại trừ các trường hợp cực đoan. Nó chắc chắn không phải là một vấn đề cho bất cứ điều gì nhỏ hơn một cái gì đó như một trang web tin tức lớn, với hàng trăm ngàn bài đăng. Và đối với bất kỳ trang web nào đủ lớn để nó trở thành một vấn đề, bạn nên sử dụng bộ đệm đối tượng bên ngoài nào đó, và trong trường hợp đó , các quá độ được lưu trữ tự động ở đó thay vì trong cơ sở dữ liệu.