国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-程序員手冊 -45. GiST 索引

2019-09-08 23:33:43
字體:
來源:轉載
供稿:網友
第四十五章.GiST 索引
關于 GIST 的信息在 http://GiST.CS.Berkeley.EDU:8000/gist/ ,有關更多不同索引和排序方法的信息在http://s2k-ftp.CS.Berkeley.EDU:8000/personal/jmh/。并且在伯克利的數據庫站點有更多的有趣的讀物 http://epoch.cs.berkeley.edu:8000/. 
作者:這個節選源自一封由 Eugene Selkov Jr。發過來的電子郵件,包含很多關于 GiST 的有用信息.希望我們在將來能學習到更多的東西并且對這個信息進行更新.- thomas 1998-03-01
我不能說我對這些東西認識得很深,但至少我(幾乎是)成功的把 GiST 例子移植到 linux 里.GiST 訪問模式現在已經在 postgres 代碼樹里(src/backend/access/gist)。 
伯克利的例子 里面有一個該方法的概述并且演示了用于 2D 方形,多邊形,整形(時間)間隔和文本(text)的空間的索引機制(參閱 GiST 在伯克利)。在方形的例子里,我們可以預見到使用 GiST 索引時的性能提升;在我的機器上它的確是這樣的,但是我沒有很多的方形記錄來檢驗它.其他例子同樣工作了,除了多邊形(polygons):我在執行下面命令時收到一個錯誤 

test=> create index pix on polytmp
test-> using gist (p:box gist_poly_ops) with (islossy);
ERROR:  cannot open pix

(PostgreSQL 6.3               Sun Feb  1 14:57:30 EST 1998)
我沒法理解這個錯誤信息;這好象是某種我們需要和開發者討論的問題(看下面的注釋 4).我的建議是你們這些 linux 的用戶(linux==gcc?)們獲取上面原始的查詢代碼并且打上我寫的補丁(見附件),然后告訴我你使用后的看法.看起來我挺酷,可我不想一直干下去,因為我知道有很多人比我更合適. 
這些源代碼的幾個注釋: 

1. 我用原始的 Makefile (HPUX)沒能成功,所以我重新編排了一下古老的 postgres95 的 Makefile 干這事.我試圖讓它干凈些,但是我寫的 makefile 實在差勁--只能干點兒基本的工作.對這一點很抱歉,但我想現在的 makefile 比原來的可移植性會好一點. 

2. 我直接在 pgsql/src 里寫了樣例代碼(只要在那里解開 tar 文件).上面說的 Makefile 假設代碼在 pgsql/src 下面的一級(我們的環境里,在 pgsql/src/pggist 里). 

3.我對 *.c 文件的修改都是關于 #include,函數原形和類型轉換的.除此之外, 我只是仍掉了一堆沒有用的變量和加了幾個圓括號來令 gcc 易于分析.我希望我沒有把事情搞得太糟糕:) 

4. 在 polyproc.sql 里有個注釋: 

-- -- there's a memory leak in rtree poly_ops!!
-- -- create index pix2 on polytmp using rtree (p poly_ops);
記住這些!我想它可能影響好一些老的 Postgres 版本,然后試一下查詢.我的系統在大約十分鐘內就不行了,然后我只有宕掉 postmaster.
我會繼續關注 GiST 一陣子,但我同樣也對 R-tree 的使用的例子感興趣.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 河西区| 阳山县| 布拖县| 光泽县| 宣恩县| 开原市| 札达县| 绥化市| 洛宁县| 湘潭县| 诏安县| 滦平县| 分宜县| 鄂托克前旗| 青铜峡市| 手机| 左权县| 铜鼓县| 金坛市| 任丘市| 乐安县| 名山县| 牡丹江市| 望谟县| 定南县| 康马县| 宁德市| 南雄市| 略阳县| 汝城县| 龙川县| 蒙山县| 鲁甸县| 合水县| 宿松县| 定边县| 北宁市| 清远市| 梧州市| 鄂州市| 溆浦县|