如何加快查询 TEXT 字段的速度?
如何加快查询 TEXT 字段的速度?
我有一张大表,经常通过一个TEXT
字段进行搜索(不能是VARCHAR
)。这非常慢;所以,我尝试添加一个索引:
ALTER TABLE big_table ADD FULLTEXT INDEX `Index_name` (`NAME`);
然而,性能没有改变,仍然太慢。我如何添加一个“好”的索引?(如果能是唯一索引则更好)
这是表的DDL:
CREATE TABLE `bigtable` ( `NAME` text NOT NULL, `VALUE` varchar(255) NOT NULL DEFAULT '', `DESCRIPTION` varchar(255) NOT NULL DEFAULT '' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
以及解释:
explain UPDATE table SET VALUE = VALUE + 1, DESCRIPTION = "whatever" where name = "Total visits"; id, select_type, table, type, possible_keys, key, key_len, ref , rows, Extra 1, SIMPLE, table, ALL, null, null, null, null, 30592, Using Where
索引读取后:
id, select_type, table, type, possible_keys, key, key_len, ref , rows, Extra 1, SIMPLE, table, ALL, null, null, null, null, 30592, Using where