mysql: оптимизация поиска
Дэн 25.12.2007 19:44
Есть 3 таблицы:
obj,
obj_alias,
obj_keywords.
Таблицы связаны по индексу
obj_id.
Соответственно, в таблицах
obj_alias и
obj_keywords (
varchar поля) хранятся ключевые слова и псевдонимы, связанные с объектом в таблице
obj, в которой также хранится имя объекта. Таблицы нужны именно в таком виде, а не одно со всеми этими полями, так как могут быть различные варианты выборки.
Вопрос: как лучше написать запрос при очень большом кол-ве записей в таблицах для поиска объектов без учета регистра (utf-8).
Варианты есть такие варианты:
regexp,
like или
= для этих запросов.
Или лучше сделать еще одну таблицу с текстовым полем, объединяющем все три таблицы для оптимизации поиска,
obj_index со значениями через запятую в одном регистре и искать таким запросом:
regexp '(^^|,)${what}(^$|,)'
.
- mysql: оптимизация поиска , Дэн 25.12.2007 19:44
- Ответ, Дэн 26.12.2007 19:47