[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 数据库 > 其它 > 正文
PostgreSQL7.0手册-程序员手册 -45. GiST 索引
编译:何伟平 laser@zhengmai.com.cn (2001-04-21 23:04:31)
第四十五章.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 的使用的例子感兴趣. 
(http://www.fanqiang.com)
    进入【UNIX论坛

相关文章
PostgreSQL7.0手册-附录-文档 (2001-04-21 23:50:44)
PostgreSQL7.0手册-附录-日期/时间支持-CVS 仓库 (2001-04-21 23:48:48)
PostgreSQL7.0手册-教程 -73. Postgres SQL 高级特性 (2001-04-21 23:45:36)
PostgreSQL7.0手册-教程 -72. 查询语言 (2001-04-21 23:44:40)
PostgreSQL7.0手册-教程 -71. 开始 (2001-04-21 23:42:54)
PostgreSQL7.0手册-教程 -70. 体系结构 (2001-04-21 23:41:58)
PostgreSQL7.0手册-教程 -69. SQL (2001-04-21 23:41:23)
PostgreSQL7.0手册-开发者手册 -68. 分页文件 (2001-04-21 23:39:22)
PostgreSQL7.0手册-开发者手册 -67. 后端接口 (2001-04-21 23:38:34)
PostgreSQL7.0手册-开发者手册 -66. gcc 缺省优化 (2001-04-21 23:37:20)

===更多相关===
 

★  樊强制作 欢迎分享  ★