【发布时间】:2011-07-03 11:04:19
【问题描述】:
我的表 xm_c 是这样创建的:
创建表`xm_c`( `category_id` char(16) NOT NULL default '', `label` char(64) NOT NULL default '', `flags` smallint(5) 无符号默认 NULL, `d0` 日期默认 NULL, `d1` 日期默认 NULL, `ct` int(6) 无符号默认 NULL, `t_update` 时间戳 NOT NULL 默认 CURRENT_TIMESTAMP 更新 CURRENT_TIMESTAMP, 主键(`category_id`), **全文键`标签`(`标签`)** ) 引擎=MyISAM 默认字符集=latin1 DELAY_KEY_WRITE=1;以下查询中未使用 FULLTEXT 索引:
select * from xm_c where label = 'TomCruise';
这里使用的地方:
select * from xm_c where MATCH(label) AGAINST('TomCruise');
mysql> 解释 select * from xm_c where MATCH(label) AGAINST('TomCruise'); > 编号 |选择类型 |表|类型 |可能的键 |关键 | key_len |参考 |行 |额外的 **1 |简单 | xm_c |全文 |标签 |标签 | 0 | | 1 |使用哪里** mysql> 解释 select * from xm_c where label = 'TomCruise'; > 身份证 |选择类型 |表|类型 |可能的键 |关键 | key_len |参考 |行 |额外的 **1 |简单 | xm_c |全部 |标签 |空 |空 |空 | 5673360 |使用哪里**
有人能解释一下吗?不应该在两个查询中都使用 INDEX 吗?
使用 FULLTEXT INDICES 有语法限制吗?
【问题讨论】:
标签: mysql indexing full-text-search