欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

POSTGRESQL如何解決LIKE%%的問題

小編給大家分享一下POSTGRESQL如何解決LIKE %%的問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都創(chuàng)新互聯(lián)10多年成都企業(yè)網(wǎng)站建設服務;為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及高端網(wǎng)站定制服務,成都企業(yè)網(wǎng)站建設及推廣,對火鍋店設計等多個行業(yè)擁有多年的網(wǎng)站營銷經(jīng)驗的網(wǎng)站建設公司。

題目比Big mouth, 在POSTGRESQL 進入視野前,如果我們看到有程序員這樣寫

Select  name from employees where name like '%Chars%';  

并且這個表的行數(shù)在幾百萬行到千萬行的水平,我們只能給寫這個語句的人一句。

Are you lost your mind , 換句話就是 你是瘋了嗎?

世界不同了,隊伍不好帶,以前 ORACLE , SQL SERVER , MySQL 都統(tǒng)一口徑說,我們不支持這樣  SB 的查詢方式,你要不就 寫成

select name from emplyees where name like '%Chars' 

要不就

select name from employees where name like 'Chars%'

如果非要如此,%% 的like查詢,你不如去做全文索引。 就此就將這樣的需求已 SB 的標簽貼了幾十年。 就連ORACLE 這樣已經(jīng)神話的數(shù)據(jù)庫,也對此毫無作為。

“更多選擇,更多歡樂”, 當然這歡樂不是給  ORALCE ,SQL SERVER ,MYSQL 這幾個家伙的。因為到此為止,這幾位,還是只能 TABLE SCAN 對待 like %% 這樣的查詢,而走不了索引。

POSTGRESQL ,面對幾十年解決不了的問題,輕聲的說了句,我試試吧

來我們看看POSTGRESQL 怎么能將別的數(shù)據(jù)庫都做不到的事情,輕描淡寫的就做完了。

首先我們先做一個實驗,先建立一個表,

POSTGRESQL如何解決LIKE %%的問題

然后我們插入100的數(shù)據(jù)

POSTGRESQL如何解決LIKE %%的問題

我們看看我們插入了什么樣的數(shù)據(jù),以NAME 為字段的一堆無序的字符。

POSTGRESQL如何解決LIKE %%的問題

為了比較POSTGRESQL 在處理 LIKE %% 這樣的數(shù)據(jù)和全表掃描的區(qū)別,我們也建立一個不使用POSTGRESQL 索引的數(shù)據(jù)表,來做一個對比

名字里面有一個 2 

POSTGRESQL如何解決LIKE %%的問題

通過POSTGRESQL 獨有的GIN 索引,(這只是其中一種解決 LIKE %%方法,還有幾種方法還可以面對更大無序的數(shù)據(jù)去做 like %%),至于更刺激的事情,還是找個機會下次說。

CREATE INDEX idx_employees_name_gin ON employees USING gin (name gin_trgm_ops);

POSTGRESQL如何解決LIKE %%的問題

索引建立完了,我們也需要開始做比較了

POSTGRESQL如何解決LIKE %%的問題

結(jié)果很明顯,employees 1 在使用了 gin 索引后,查詢的時間耗時 1.221ms  ,而如果不使用索引的情況下 我們要使用 68.484 ms 的時間。

POSTGRESQL如何解決LIKE %%的問題

有人可能有異議,說你的比較光是在POSTGRESQL 本身上做的,這不公平,你應該在MYSQL , SQL SERVER , ORACLE 最新版上都做一遍。

我只想說,當我看到100萬的數(shù)據(jù),在用LIKE %% 查詢還能走索引,在一個破筆記本上的時間是 1.221ms,我已經(jīng)毫無愿望在去測那些數(shù)據(jù)庫了,毫無意愿, 而更可笑的是, 這樣一個數(shù)據(jù)庫他是免費的,比MYSQL 免費的還徹底。 面對 SQL SERVER  ORACLE  收取巨額費用,幾十年了還解決不了這樣like  %% 的問題。

看完了這篇文章,相信你對“POSTGRESQL如何解決LIKE %%的問題”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享標題:POSTGRESQL如何解決LIKE%%的問題
文章位置:http://www.chinadenli.net/article48/pgejep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈小程序開發(fā)面包屑導航外貿(mào)網(wǎng)站建設網(wǎng)站策劃網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設