亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在MySQL中提高全文搜索效率

發布時間:2021-08-09 14:34:55 來源:億速云 閱讀:202 作者:chen 欄目:數據庫

本篇內容主要講解“如何在MySQL中提高全文搜索效率”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何在MySQL中提高全文搜索效率”吧!

  很多互聯網應用程序都提供了全文搜索功能,用戶可以使用一個詞或者詞語片斷作為查詢項目來定位匹配的記錄。在后臺,這些程序使用在一個SELECT查詢中的LIKE語句來執行這種查詢,盡管這種方法可行,但對于全文查找而言,這是一種效率極端低下的方法,尤其在處理大量數據的時候。

  MySQL針對這一問題提供了一種基于內建的全文查找方式的解決方案。在此,開發者只需要簡單地標記出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段運行搜索,這不僅僅提高了性能和效率(因為MySQL對這些字段做了索引來優化搜索),而且實現了更高質量的搜索,因為MySQL使用自然語言來智能地對結果評級,以去掉不相關的項目。

  怎樣在MySQL中提高全文搜索效率

  1、設置基本表格

  從創建例子表格開始,使用以下的SQL命令:

  mysql>CREATETABLEreviews(idINT(5)

  以上命令創建了一個簡單的音樂專集資料庫(主要是整段的文字),然后向這個表格中添加一些記錄:

  mysql>INSERTINTO`reviews`(`id`,`data`)VALUES

  驗證數據的正確錄入:

  mysql>SELECT*FROMreviews;

  2、定義全文搜索字段

  接下來,定義您要作為全文搜索索引的字段:

  mysql>ALTERTABLEreviewsADDFULLTEXTINDEX(data);

  使用SHOWINDEXES命令來檢查索引已經被添加了:

  mysql>SHOWINDEXESFROMreviews;

  | 2|

  +----+

  2rowsinset(0.00sec)

  在此,MATCH()將作為參數傳遞給它的字段中的文字與傳遞給AGAINST()的參數進行比較,如果有匹配的,那就按照正常的方式返回。注意您可以傳遞不止一個字段用MATCH()來查看--只需用逗號來分割字段列表。

  當MySQL收到了一個全文搜索的請求,它就在內部對每個記錄進行評分,不匹配的記錄得分為零,而“更相關”的記錄會得到比“不太相關”的記錄相對更高的分數。相關性是由MySQL的一系列區分標準來決定的,查看MySQL的用戶手冊可以得到更多的信息。

  想看到每個記錄的評分如何,只需要返回MATCH()方法作為結果集的一部分,如下所示:

  mysql>SELECTid,MATCH(data)AGAINST('rock')FROMreviews;

  關于在MySQL中提高全文搜索效率的方法就為大家介紹到這里,相信通過上文的學習,大家現在對在MySQL中提高全文搜索效率有所了解,希望大家都能夠熟練掌握,然后將其應用于以后的工作中,相信會給大家的工作帶來很多的便利。

  +----+-------------------------------+|id|MATCH(data)AGAINST('rock')|+----+-------------------------------+| 1|0|| 2|0|| 3| 1.3862514533815|+----+-------------------------------+3rowsinset(0.00sec)

  +---------+---------------+--------+------+------------+---------+|Table |Column_name |Packed|Null|Index_type|Comment|----------+---------------+--------+------+------------+---------+|reviews| id |NULL | |BTREE |||reviews| data|NULL |YES |FULLTEXT ||+---------+---------------+--------+------+------------+---------+2rowsinset(0.01sec)

  QueryOK,3rowsaffected(0.21sec)Records:3 Duplicates:0 Warnings:0

  +----+--------------------------------------------+|id|data |+----+--------------------------------------------+| 1|Gingerboyhasanewsingleoutcalled... || 2|Helloall,IreallylikethenewMadon...|| 3|HaveyouheardthenewbandHotterThan...|+----+--------------------------------------------+3rowsinset(0.00sec)

  (1,'GingerboyhasanewsingleoutcalledThrowingRocks.It'sgreat!');mysql>INSERTINTO`reviews`(`id`,`data`)VALUES(2,'Helloall,IreallylikethenewMadonnasingle.Oneofthehottesttrackscurrentlyplaying...I'vebeenlisteningtoitallday');mysql>INSERTINTO`reviews`(`id`,`data`)VALUES(3,'HaveyouheardthenewbandHotterThanHellTheyhavefivemembersandtheyburntheirinstrumentswhentheyplayinconcerts.Theseguystotallyrock!Like,awesome,dude!');

  PRIMARYKEYNOTNULLAUTO_INCREMENT,dataTEXT);

到此,相信大家對“如何在MySQL中提高全文搜索效率”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丁青县| 虎林市| 资阳市| 井研县| 登封市| 滕州市| 广河县| 郧西县| 汉中市| 黄冈市| 鹤岗市| 象州县| 昌平区| 西畴县| 青河县| 台州市| 汤阴县| 疏附县| 曲沃县| 集安市| 陆河县| 上犹县| 许昌市| 沅江市| 桐乡市| 保亭| 林西县| 巨鹿县| 武川县| 额敏县| 黔西县| 广水市| 正镶白旗| 凤翔县| 治多县| 巴东县| 蛟河市| 宝兴县| 山西省| 合江县| 乌兰浩特市|