Моя таблица xm_c создается следующим образом:
CREATE TABLE `xm_c` (
`category_id` char(16) NOT NULL default '',
`label` char(64) NOT NULL default '',
`flags` smallint(5) unsigned default NULL,
`d0` date default NULL,
`d1` date default NULL,
`ct` int(6) unsigned default NULL,
`t_update` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`category_id`),
**FULLTEXT KEY `label` (`label`)**
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1;
Индекс FULLTEXT НЕ используется в запросе ниже:
select * from xm_c, где label = 'TomCruise';
где используется здесь:
выберите * из xm_c, где MATCH (метка) ПРОТИВ ('TomCruise');
mysql> explain select * from xm_c where MATCH(label) AGAINST('TomCruise');
>
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra
**1 | SIMPLE | xm_c | fulltext | label | label | 0 | | 1 | Using where**
mysql> explain select * from xm_c where label = 'TomCruise';
> id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra
**1 | SIMPLE | xm_c | ALL | label | NULL | NULL | NULL | 5673360 | Using where**
Может кто-нибудь объяснить это?Разве не следует использовать INDEX в обоих запросах?
Существует ли синтаксическое ограничение при использовании FULLTEXT INDICES?