MySQL khuyến nghị sử dụng các chỉ mục vì nhiều lý do bao gồm việc loại bỏ các hàng giữa các điều kiện: http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html
Điều này làm cho cột ngày giờ của bạn trở thành một ứng cử viên xuất sắc cho một chỉ mục nếu bạn định sử dụng nó trong các điều kiện thường xuyên trong các truy vấn. Nếu điều kiện duy nhất của bạn là BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY)
và bạn không có chỉ mục nào khác trong điều kiện, MySQL sẽ phải thực hiện quét toàn bộ bảng trên mọi truy vấn. Tôi không chắc có bao nhiêu hàng được tạo trong 30 ngày, nhưng miễn là nó ít hơn khoảng 1/3 tổng số hàng, thì việc sử dụng chỉ mục trên cột sẽ hiệu quả hơn.
Câu hỏi của bạn về việc tạo một cơ sở dữ liệu hiệu quả rất rộng. Tôi chỉ muốn đảm bảo rằng nó được chuẩn hóa và tất cả các cột thích hợp đều được lập chỉ mục (tức là những cột được sử dụng trong các phép nối và mệnh đề where).