2016-03-01 61 views
0

我是新來這個全文索引,我知道全文是用來索引文本或varchar列以快速搜索。連接列上的FULLTEXT索引會在MySQL中快速查詢嗎?

我也讀過全文索引只用於(MATCH ... AGAINST)synthax?真的嗎?

我的問題是:如果我在列上使用全文索引,它是否會加快查詢速度?

查詢是:

SELECT * FROM 表1一個 INNER JOIN表2 b ON a.text = b.text;

全文索引設置爲兩個表的列文本。

謝謝。

最好的問候,你如何使用全文索引問題

+0

您可以定義在具有文本列InnoDB表的全文索引。它可以加速對這些列中包含的數據的查詢和DML操作,省略任何定義爲停用詞的單詞。你可以在這裏找到一個性能評論:https://www.percona.com/blog/2013/07/31/innodb-full-text-search-in-mysql-5-6-part-3/ –

回答

0

第一部分是在這裏找到答案:使用MATCH()... AGAINST語法進行 http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

全文搜索。

第二部分是關於基於帶全文索引的字段的兩個表的內連接。它可以通過添加到表格table1和table2字段來解決texthash。有必要填充和維護這個散列值(通過應用程序代碼或mysql觸發器)。 您可以使用該領域中常用B樹索引和SQL查詢將被修改爲以下版本和快速執行:

SELECT * FROM table1 a INNER JOIN table2 b ON a.texthash = b.texthash;