Nếu bạn đang đo mili giây và IO đĩa của hệ thống của bạn không quá chậm, thì tùy chọn 2 sẽ mang lại hiệu suất tốt hơn. Nhưng , chúng ta đang nói về một mức tăng không đáng kể trong thời gian thực hiện. Vì bạn đã truy vấn DB để lấy mục tin tức nên nó sẽ được tối ưu hóa cao để chỉ lấy tên danh mục cùng một lúc. Tôi sẽ thêm một bảng ánh xạ của category-name-id đến tên-danh mục . Và tham gia vào đó khi nhận được các mục tin tức.
Từ quan điểm linh hoạt và quan điểm loại bỏ càng nhiều nguồn lỗi có thể xảy ra, tôi cũng sẽ đồng ý với ý tưởng trên của mình. Vì nó bổ sung tính linh hoạt cho hệ thống của bạn và giữ tất cả dữ liệu của bạn ở một chỗ. Thay đổi tên của danh mục sẽ yêu cầu chỉnh sửa một cột trong cơ sở dữ liệu thay vì chỉnh sửa tệp cấu hình php hoặc, nếu tùy chọn 1 được sử dụng, hãy cập nhật từng và mọi bản ghi tin tức.
Vì vậy, lời khuyên tốt nhất của tôi, hãy thêm một bảng có category-name-id đến tên-danh mục ánh xạ và sau đó có các tin-mục chứa id của danh mục mà chúng thuộc về.
Để có hiệu suất, sau đó, bạn có thể lưu vào bộ nhớ cache dữ liệu bạn truy xuất về các danh mục hiện có và dữ liệu khác để bạn không phải thăm dò DB về thông tin đó mọi lúc.
Ví dụ. Thay vì tham gia, bạn có thể lấy tất cả các danh mục từ bảng danh mục mà tôi đã mô tả ở trên. Lưu vào bộ nhớ cache trong ứng dụng và chỉ lấy nó sau khi bộ nhớ cache bị vô hiệu. tức là thời gian chờ xảy ra hoặc dữ liệu trong db bị thao túng.