前%的處理--PostgreSQL

xuexiaogang發表於2023-03-08

 上週我寫了Oracle處理前%的文章,我後來研究了一下PostgreSQL的反向索引。建立表qq,表結構如下:

前%的處理--PostgreSQL

重點是建立一個反向索引。 create index q2 on qq ( reverse(b) collate "C"); 這裡開始建立不順,和幾位PG大佬交流了一下。這裡的寫法和Oracle有所不同。多了collate "C"

注意這裡的B列的資料型別是字串。如果在a列上這樣做是報錯的,因為a列是int型的。

最終SQL是:select * from qq where reverse (b) like reverse('%1234');

前%的處理--PostgreSQL

    檢視執行計劃,用到了索引。看最終實現也符合預期。這個索引和SQL在實現上和Oracle是一模一樣。當然這裡資料也要多一些,10幾條是不行的,這個也和Oracle差不多,一般都是1萬多條資料起作用。

MySQL的話十幾條資料就能模擬出全表或者是使用索引。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2938559/,如需轉載,請註明出處,否則將追究法律責任。

相關文章