吳小青



摘 ?要: 為了加深對(duì)嵌入式數(shù)據(jù)庫(MySQL)中數(shù)據(jù)模糊檢索方法的認(rèn)識(shí)。文中主要對(duì)嵌入式數(shù)據(jù)庫搜索模式的應(yīng)用進(jìn)行解釋,并根據(jù)實(shí)例給出性能對(duì)比。通過實(shí)驗(yàn)對(duì)比,對(duì)每一種搜索模式的性能都有了一定的了解,可以針對(duì)不同的應(yīng)用場(chǎng)景采用不同的搜索模式。
關(guān)鍵詞: 嵌入式數(shù)據(jù)庫、模糊搜索、性能對(duì)比
中圖分類號(hào): TP3 ???文獻(xiàn)標(biāo)識(shí)碼: A ???DOI:10.3969/j.issn.1003-6970.2020.09.032
【Abstract】: In order to deepen the understanding of data fuzzy retrieval method in embedded database (MySQL). This paper mainly explains the application of embedded database search mode, and gives the performance comparison according to the example. Through experimental comparison, we have a certain understanding of the performance of each search mode, and we can use different search patterns for different application scenarios.
【Key words】: Embedded database; Fuzzy search; Performance comparison
0 ?引言
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle旗下產(chǎn)品。MySQL是時(shí)下最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在WEB應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。
無論何種類型的數(shù)據(jù)庫服務(wù)模式,在數(shù)據(jù)庫的使用中查詢是最重要也是使用頻率最高的一種操作,而用戶對(duì)數(shù)據(jù)的查詢操作往往并不能夠精確給出查詢需求,于是各類數(shù)據(jù)庫管理系統(tǒng)都給出了滿足用戶需求的模糊查詢的方法[1]。以下就MySQL中常用的模糊查詢做一一介紹和對(duì)比。
1 ?導(dǎo)入問題
根據(jù)不同的應(yīng)用場(chǎng)景,MySQL支持的模糊搜索方式不止一種,其中應(yīng)用較為廣泛的是大家熟知的Like匹配和RegExp正則匹配。表面上看,這兩種模糊搜索用法和原理頗為相仿,但它們的匹配原則不盡相同。Like要求模式串與整個(gè)目標(biāo)字段完全匹配才檢索該記錄,而RegExp則是要求目標(biāo)字段包含模式串即可。通常,若要簡(jiǎn)單判斷模式串是否存,我們可以使用MySQL內(nèi)置函數(shù)實(shí)現(xiàn),例如Instr()、Locate()、Position()等。
當(dāng)然,所有涉及到數(shù)據(jù)庫管理系統(tǒng)查詢性能都繞不開索引,對(duì)于字段模糊查詢需求,也可以考慮添加全文索引(Fulltext)。……