如何加快查询 TEXT 字段的速度?

20 浏览
0 Comments

如何加快查询 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

0