EAV là một lựa chọn hợp lệ - nó có thể phức tạp và khó xử với những gì trở thành dữ liệu không được định kiểu một cách hiệu quả.
XML với XPath cũng sẽ là một tùy chọn: http://dev.mysql.com/tech-resources/articles/xml-in-mysql5.1-6.0.html
Tôi nghĩ rằng hầu hết các trường hợp sẽ yêu cầu bạn tạo SQL động nếu các trường để tìm kiếm có thể khác nhau.