我是这个全文索引的新手,我所知道的是全文用于索引text或varchar列以快速搜索 .
我还读过全文索引只用于(MATCH ... AGAINST)synthax?真的吗?
我的问题是:如果我在列上使用全文索引,它是否会加快查询速度?
查询是:
SELECT * FROM table1 a INNER JOIN table2 b ON a.text = b.text;
为两个表的列文本设置了全文索引 .
谢谢 .
最好的祝福,
关于使用全文索引的问题的第一部分在这里得到解答:http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
使用MATCH()... AGAINST语法执行全文搜索 .
第二部分是基于具有全文索引的字段的两个表的内连接 . 它可以通过添加到表table1和table2字段 texthash 来解决 . 有必要填充和维护这个哈希值(通过应用程序代码或mysql触发器) . 您可以在此字段中使用通常的btree索引,并且您的sql-query将被修改为以下版本并快速执行:
SELECT * FROM table1 a INNER JOIN table2 b ON a.texthash = b.texthash;
1 回答
关于使用全文索引的问题的第一部分在这里得到解答:http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
第二部分是基于具有全文索引的字段的两个表的内连接 . 它可以通过添加到表table1和table2字段 texthash 来解决 . 有必要填充和维护这个哈希值(通过应用程序代码或mysql触发器) . 您可以在此字段中使用通常的btree索引,并且您的sql-query将被修改为以下版本并快速执行: