Tôi thực sự không biết tại sao điều này được thực hiện, nhưng một lý do tôi có thể tưởng tượng là tối ưu hóa tìm kiếm và truy xuất siêu dữ liệu bài đăng (ngày, tác giả, v.v.).
According to Joel (và Joel luôn đúng! ;-) cơ sở dữ liệu lưu trữ dữ liệu của chúng trong trường độ dài cố định soạn các bản ghi có độ dài cố định, do đó, dễ dàng chuyển từ một hàng sang hàng kế tiếp chỉ bằng cách tăng con trỏ theo độ dài byte của một bản ghi. Nhưng các trường văn bản lớn được sử dụng để lưu trữ văn bản bài đăng không thể có kích thước cố định, vì độ dài của bài đăng thay đổi trên phạm vi rộng và tạo dung lượng lưu trữ cố định đủ lớn để giữ tất cả các bài đăng sẽ lãng phí một lượng lớn không gian. Điều đó có nghĩa là lưu trữ văn bản trong cùng một bảng với các thông tin khác sẽ làm cho nó chậm hơn rất nhiều khi bạn muốn lấy siêu dữ liệu cho số lượng lớn các bài đăng, như được thực hiện mỗi khi ai đó xem trang diễn đàn chính.
Cách để tận dụng tối đa cả hai thế giới là đặt các trường có độ dài cố định (ví dụ: mọi thứ ngoại trừ văn bản bài đăng) trong một bảng và các trường có độ dài thay đổi (ví dụ: văn bản bài đăng).
Nguồn
2009-02-20 21:12:29
Tôi không đồng ý, chủ đề này đã được thảo luận rộng rãi trên đây và các trang web khác. http://stackoverflow.com/questions/548793/a-good-tutorial-on-creating-a-php-forum-from-scratch/548810#548810 – barfoon
@barfoon, đây không phải là việc tạo một diễn đàn, anh ấy muốn biết tại sao phpBB làm những gì nó làm. Tôi nghĩ đó là một câu hỏi hay. Bây giờ nếu anh ta hỏi, cách tốt nhất để xây dựng một diễn đàn là gì, tôi đồng ý với bạn. – Malfist
"Bạn nghĩ gì là cách tốt nhất?" không âm thanh cụ thể cho phpBB. – barfoon