Да. На сайте менее 1000 уников в день, поэтому до индексов я просто не дошел. Значения денормализованы прям в дизайне в таблице товаров, и три дополнительные таблицы (сущности параметров, значений параметров и связей многие-ко-многим) позволяют гибко редактировать и искать различными способами.
Точных данных по производительности под рукой нет. Визуально это был профайлер CodeIgniter-а, и время выполнения запросов на тестовой БД с 5000 товарами не превышало 100мс на ноутбуке Dell Latitude D600 (Pentium 3, 512 МБ ОЗУ...). На сервере все работает просто шикарно. ОС Debian Etch.
Нормализация, денормализация, построение таблиц сущностей, связи «один ко многим», связи «многие ко многим» — это и из личного опыта, и из теории.
Медленные запросы — относительное понятие, зависящее от условий эксплуатации проекта и движка СУБД. Специфика вашего ТЗ мне неизвестна, но могу порекомендовать изучить проектирование СУБД. Это интересная тема. Если лень читать — есть много доступных видео. Например, в недавно упомянутым на хабре Лекториуме.
Жуткие — исключительно эмпирическое понятие, означающее нечто страшное, или вызывающее сильные чувства.
Напишите типичные юзкейсы — сами увидите. В первую очередь — редактирование свойств элемента. Настоятельно рекомендую предусмотреть отсутствие физического удаления данных из БД — лучше управлять булевым флажком активности. Это несколько усложнит программу, но не существенно.
В процессе денормализации, естественно, свойства товаров можно сохранять в длинном поле у самой сущности товаров — для удобного вывода. А всю подсистему ключей и опциональных индексов использовать для поиска, «гуру» и подобных функций.
Пользователи сайта получают вознаграждение за участие. Что-то похожее на выплаты рекламным агентам, посреднические выплаты фрилансерам «СБР» и тому подобное.