Nếu bạn phải sử dụng năm và quý riêng biệt thay vì ngày (vì bạn dường như có các yêu cầu báo cáo cụ thể), tôi sẽ sử dụng tinyint
cho quý và smallint
trong năm và lưu trữ chúng trong PAYMENT
bảng chính nó.
Tôi sẽ không lưu trữ nó trong một cái bàn khác. Điều này thật tệ vì:
- Bạn phải đảm bảo rằng bạn đã sản xuất đủ số năm / quý
- Bạn phải tham gia và sử dụng khóa ngoại
Nếu bạn lưu trữ dữ liệu bằng bản ghi, điều đó sẽ giúp hiệu suất khi đọc. Bảng của bạn có thể nhỏ nhưng luôn tốt khi ghi nhớ hiệu suất.
TẠI SAO
Hãy tưởng tượng bạn cần lấy
Trong trường hợp này, bạn sẽ cần chỉ mục bao trùm trên tất cả các mục và vẫn không hữu ích vì truy vấn của bạn dành cho quý cụ thể chứ không phải quý năm. Tuy nhiên, có dữ liệu trên bảng sẽ giúp có kế hoạch thực thi nhẹ hơn.