По дате Август 17th, 2012

MySQL where .. IN (`field`) или избавляемся от хранения массива в базе

Да, я в курсе, что такое “Многие ко многим”..

Иногда приходится сталкиваться с ситуациями, когда данные хранятся в таблице в “неудобной” для работы форме - ID-шники лежат в одном поле через запятую.. Как и почему - в подробности вдаваться не буду.. думаю, у тех, кто столкнулся с подобной ситуацией вопросов не будет. Как бы получше “развернуть” эту конструкцию в привычную таблицу многие-ко-многим, чтобы работать со связанными таблицами было удобнее (и быстрее - ведь поиск по подстроке намного медленнее, чем по индексу).

В любом случае, разбирать колонку со значениями через запятую нам придётся.. однако, лучше и правильнее сделать это один раз, чем при каждом запросе. Рассмотрим на примере работу с where field_1 IN (`field`) Читать целиком »

Опубликовано Август 17, 2012 | автор: levik  |  Нет комментариев »