|
|
|
| Приветствую, есть mysql база с полем cat. В ней хранится не как обычно 1 категория, а несколько.
т.е к примеру есть запись в mysql
-----------------------
id | 15
-----------------------
cat | 1,2,5,12,52
-----------------------
Сейчас столкнулся с вопросом как грамотно выводить из базы, чтобы не грузить MYSQL. Пока что на ум приходит только через LIKE %$cat%, может быть есть какие-то идеи, которые не будут так сильно грузить базу как LIKE ? спасибо ) | |
|
|
|
|
|
|
|
для: bartik
(16.10.2012 в 12:19)
| | Грамотно - это когда при создании базы данных руководствуются правилами нормализации.
Вы хотите грамотно построить дом на неграмотно построенном фундаменте?
Тут три варианта:
1) оставить все как есть и юзать LIKE
2) добавить дублирующую таблицу с нормально распположенными данными
3) грамотно переделать структуру бд | |
|
|
|
|
|
|
|
для: Valick
(16.10.2012 в 12:27)
| | Сейчас как раз закладывается фундамент. Поэтому я и решил узнать.
2) добавить дублирующую таблицу с нормально распположенными данными
Можно подробнее? есть ли какие-нибудь примеры? | |
|
|
|
|
|
|
|
для: bartik
(16.10.2012 в 12:33)
| | если только закладывается, то надо использовать исключительно вариант номер 3
примеров нет, смысл в том что иногда используют денормализацию для каких-то специфических задач
сложность в синхронизации данных основной и вспомогательной таблице
сделайте сначала грамотно, а уж денормализованную таблицу добавить всегда успеете, если когда-нибудь возникнет такая необходимость | |
|
|
|
|
|
|
|
для: Valick
(16.10.2012 в 12:59)
| | понял, буду пытаться наваять, спасибо! | |
|
|
|
|
|
|
|
для: bartik
(16.10.2012 в 13:14)
| | опишите задачу более детально, определимся с сущностями | |
|
|
|