Хранение ключевых слов - оптимальный способ

Sandr

Новичок
Хранение ключевых слов - оптимальный способ

Создается таблица в mysql - список изображений (фотобанк)
PHP:
CREATE TABLE `img` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`filename` VARCHAR( 255 ) NOT NULL ) 
ENGINE = MYISAM ;
надо для каждого изображения хранить список keyword`ов
желательно чтобы можно было делать быструю выборку по заданному кейворду

Вопрос в следующем - как оптимально хранить кейворды

вар1
создавать таблицу "слова"
PHP:
CREATE TABLE `words` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`word` VARCHAR( 255 ) NOT NULL ) 
ENGINE = MYISAM ;
и таблицу ликов
PHP:
CREATE TABLE `words_links` ( 
`wordId` INT( 11 ) NOT NULL , 
`imgId` INT( 11 ) NOT NULL ,
INDEX ( `wordId` , `imgId` ) )
 ENGINE = MYISAM ;
и при каждом добавлении картинки проверять на уникальность слова
и новые добавлять

или хранить кейворды через запятую в blob поле таблицы img.keywords

и каждый раз при потребности в списке кейвордов мучатся с перебиранием все полей img.keywords?

А может существует третий вариант?
 
Сверху