Recent Posts

PostgreSQL 数据库多列复合索引的字段顺序选择原理

13 minute read

背景 当需要创建多列复合索引时,应该使用什么样的顺序呢? 多列复合索引的组织结构与单列字段索引结构类似,只是需要按索引内表达式指定的顺序编排。 《深入浅出PostgreSQL B-Tree索引结构》 例如 create index idx on tbl using btree (udf(c1) desc,...

PostgreSQL 那些使用临时文件的操作与跟踪

9 minute read

背景 在数据库中的一些操作,可能会用到临时文件,比如排序,HASH JOIN,中间结果存储,聚合等等。 为了提高数据库的执行效率,一些操作可能会使用内存代替临时存储,仅仅当内存不足时使用临时文件。 通过work_mem可以设置会话Query使用的临时内存的阈值,当然一个Query中如果使用了大量并行的排序等操...

[未完待续] PostgreSQL Oracle 兼容性之 - sys.anydata

1 minute read

背景 Oracle里面有一个类型sys.anydata,它可以存任意类型。 这个有点是一个协议的里面包了一层协议。或者说是一个容器,在这个容器里存了任意其他类型。 它有什么好处?实际上数据库是强类型的应用,而且通常也是这么来应用的,一般一个列定义一种类型。 然而sys.anydata允许你存任意类型。 t...