Pg資料庫的IP位址最優查詢

2021-09-25 23:31:52 字數 658 閱讀 3483

pg有專門的ip資料型別 inet,可直接對欄位操作,>=,<=ip位址搜尋

為了提高搜尋速度,需要建索引

btree (ip_start, ip_end)+加上order by ip_start desc limit 1;前提條件:表裡ip範圍不能重疊,乙個ip只能查一條記錄;所有ip都能查到,不然會掃瞄一半的索引;

因為表裡ip範圍是不重疊的。基本上ip_start小於等於目標ip的最大的記錄就是了,這時候用btree索引有序的特性只要取一條記錄。

同樣的sql有多種不同的執行方式,優化器選它認為最佳的執行計畫。有order by limit的sql更偏向於: 從索引裡按順序取記錄再評估記錄是否滿足條件

create index "a" on "public"."ip_idc" using btree (

"ip_start",

"ip_end"

);select * from ip_idc where ip_start <='113.201.214.203'::inet and ip_end >='113.201.214.203'::inet order by ip_start desc limit 1;

create table idc(ip_start inet,ip_

全球IP位址資料庫

下面是乙個免費的全球ip位址資料庫,包括了國家,城市,地區,和經緯度,以便你可以利用google map在地圖上標註。這個資料庫的精確度可能有60 左右。sql format 更新至 2009年3月11日 csv format 多檔案 更新至 2009年3月11日 下面是怎麼使用這個資料庫。ip a...

限制IP位址訪問資料庫

通過使用資料庫伺服器端的sqlnet.ora檔案可以實現禁止指定ip主機訪問資料庫的功能,這對於提公升資料庫的安全性有很大 的幫助,與此同時,這個技術為我們管理和約束資料庫訪問控制提供了有效的手段。方法 在sqlnet.ora檔案下黏貼這個 tcp.validnode checking yes tc...

gp資料庫與pg資料庫

以前專案採用的都是oracle或者是mysql的資料庫,新的專案採用了gp資料庫 greenplum 在這之前只聽說過pg資料庫 postgresql gp資料庫官網 pg資料庫官網 經過學習和查詢,得知greenplum是利用了postgre資料庫的框架,也就相當於說是,gp資料庫是基於pg資料庫...