最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 全文索引的原理與缺陷

 更新時間:2020年12月09日 11:15:43   作者:袁志蒙  
這篇文章主要介紹了MySQL 全文索引的原理與缺陷,幫助大家更好的理解和使用MySQL中的索引,感興趣的朋友可以了解下

MySQL全文索引一種特殊的索引,它會把某個數據表的某個數據列出現過的所有單詞生成一份清單。

alter table tablename add fulltext(column1,column2)

說明:

只能在MyISAM數據表中創(chuàng)建

全文索引是以空格或標點隔開才能搜到的,搜中文是搜不到(有專門的應用支持中文分詞可以搜中文,但都不理想)

少于3個字符的單詞不會被包含在全文索引里,可以通過修改my.cnf修改選項

ft_min_word_len=3

重新啟動MySQL服務器,用repair table tablename quick 為有關數據表重新生成全文索引

select * from tablename where match(column1,column2) against('word1 word2 word3')>0.001

match ... against 把column1,column2數據列中至少包含word1,word2,word3三個單詞之一的數據記錄查找到,在關鍵字match后的數據列必須 跟創(chuàng)建全文索引的數據列相同,檢索詞不區(qū)分大小寫和先后順序,少于3個字符的單詞通常被忽略。match... against ...表達式返回一個浮點數作為它本身的求值結果,這個數字反映了結果記錄與被檢索單詞的匹配程度。如果沒有匹配到任何記錄,或者匹配到的結果記錄太多反 而被忽略,表達式將返回0,表達式>0.001的作用是排除match的返回值太小的結果記錄。

select *,match(column1,column2) against ('word1 word2 word3') as mtch
from tablename
having mtch>0.01
order by mtch desc
limit 5

找出最匹配的5條記錄,在where字句中不能使用假名,所以用having

布爾全文搜索的性能支持以下操作符:

+word:一個前導的加號表示該單詞必須 出現在返回的每一行的開頭位置。

-word: 一個前導的減號表示該單詞一定不能出現在任何返回的行中。

(無操作符):在默認狀態(tài)下(當沒有指定 + 或–的情況下),該單詞可有可無,但含有該單詞的行等級較高。這和MATCH() ... AGAINST()不使用IN BOOLEAN MODE修改程序時的運作很類似。

> <這兩個操作符用來改變一個單詞對賦予某一行的相關值的影響。 > 操作符增強其影響,而 <操作符則減弱其影響。請參見下面的例子。

( )括號用來將單詞分成子表達式。括入括號的部分可以被嵌套。

~word:一個前導的代字號用作否定符, 用來否定單詞對該行相關性的影響。 這對于標記“noise(無用信息)”的單詞很有用。包含這類單詞的行較其它行等級低。

word* :搜索以word開頭的單詞,只允許出現在單詞的末尾

"word1 word" :給定單詞必須出現在數據記錄中,先后順序也必須匹配,區(qū)分字母大小寫

select * from tablename where match(column1,column2) against ('+word1 +word2 -word3' in boolean mode')

布爾檢索只能返回1或者0,不再返回表示匹配程度的浮點數

全文索引的缺陷:

1.數據表越大,全文索引效果好,比較小的數據表會返回一些難以理解的結果。

2.全文檢索以整個單詞作為匹配對象,單詞變形(加上后綴,復數形式),就被認為另一個單詞。

3.只有由字母,數字,單引號,下劃線構成的字符串被認為是單詞,帶注音符號的字母仍是字母,像C++不再認為是單詞

4.不區(qū)分大小寫

5.只能在MyISAM上使用

6.全文索引創(chuàng)建速度慢,而且對有全文索引的各種數據修改操作也慢

7.不支持中文

以上就是MySQL 全文索引的原理與缺陷的詳細內容,更多關于MySQL 全文索引的資料請關注腳本之家其它相關文章!

相關文章

  • 分享Mysql命令大全

    分享Mysql命令大全

    本文給大家介紹mysql命令大全相關知識,涉及到mysql命令相關知識,對此感興趣的朋友一起學習吧
    2015-12-12
  • MySQL 生成隨機數字、字符串、日期、驗證碼及 UUID的方法

    MySQL 生成隨機數字、字符串、日期、驗證碼及 UUID的方法

    這篇文章主要介紹了MySQL 生成隨機數字、字符串、日期、驗證碼及 UUID的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • MySQL解決Navicat設置默認字符串時的報錯問題

    MySQL解決Navicat設置默認字符串時的報錯問題

    本文主要介紹了MySQL解決Navicat設置默認字符串時的報錯,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • MySQL數據庫索引原理及優(yōu)化策略

    MySQL數據庫索引原理及優(yōu)化策略

    MySQL數據庫索引是一種數據結構,用于提高數據查詢的效率,加快數據檢索的速度。索引基于樹結構實現,可以通過B+樹等算法來優(yōu)化索引效率。MySQL中常見的索引類型包括主鍵索引、唯一索引、普通索引、全文索引等
    2023-04-04
  • MySql閃退和服務無法啟動的解決方法

    MySql閃退和服務無法啟動的解決方法

    今天小編就為大家分享一篇關于MySql閃退和服務無法啟動的解決方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • SQL語句之如何用JOIN連接多個表

    SQL語句之如何用JOIN連接多個表

    這篇文章主要介紹了SQL語句之如何用JOIN連接多個表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • mysql 截取指定的兩個字符串之間的內容

    mysql 截取指定的兩個字符串之間的內容

    今天我同事在用mysql的時候,需要對一個字符串中的指定內容進行截取
    2009-07-07
  • mysql drop database刪除數據庫命令實例講解

    mysql drop database刪除數據庫命令實例講解

    這篇文章主要介紹了mysql drop database刪除數據庫命令實例講解的相關資料,需要的朋友可以參考下
    2016-09-09
  • MySQL數據庫定時備份的實現方法

    MySQL數據庫定時備份的實現方法

    這篇文章主要介紹了MySQL數據庫的定時備份的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Mysql內置函數的實現示例

    Mysql內置函數的實現示例

    mysql內置了很多的函數,本文主要介紹了Mysql內置函數的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07

最新評論

南雄市| 东海县| 彭泽县| 泰和县| 上犹县| 岳阳市| 行唐县| 保靖县| 贡山| 兴安盟| 漳浦县| 姜堰市| 新沂市| 玛纳斯县| 大连市| 桐城市| 苏尼特左旗| 根河市| 酉阳| 灵山县| 灵璧县| 玉树县| 镇雄县| 富川| 宝鸡市| 贵港市| 宁晋县| 钟山县| 建宁县| 罗城| 霍邱县| 九龙坡区| 蓬莱市| 南城县| 乌鲁木齐县| 兴和县| 安吉县| 屯昌县| 黄龙县| 肥西县| 恩施市|