postgresql 中的 large object
来源:互联网 发布:软件涉及行业 编辑:程序博客网 时间:2024/06/05 13:26
//主要有下面两个系统表,pg_largeobject_metadata主要记录权限的,有用的只有pg_largeobjectCATALOG(pg_largeobject_metadata,2995){Oidlomowner;/* OID of the largeobject owner */#ifdef CATALOG_VARLEN/* variable-length fields start here */aclitemlomacl[1];/* access permissions */#endif} FormData_pg_largeobject_metadata;/* * Each "page" (tuple) of a large object can hold this much data * * We could set this as high as BLCKSZ less some overhead, but it seems * better to make it a smaller value, so that not as much space is used * up when a page-tuple is updated. Note that the value is deliberately * chosen large enough to trigger the tuple toaster, so that we will * attempt to compress page tuples in-line. (But they won't be moved off * unless the user creates a toast-table for pg_largeobject...) * * Also, it seems to be a smart move to make the page size be a power of 2, * since clients will often be written to send data in power-of-2 blocks. * This avoids unnecessary tuple updates caused by partial-page writes. */#define LOBLKSIZE (BLCKSZ / 4)CATALOG(pg_largeobject,2613) BKI_WITHOUT_OIDS{Oidloid;/* Identifier of large object */int4pageno;/* Page number (starting from 0) *//* data has variable length, but we allow direct access; see inv_api.c */byteadata;/* Data for page (may be zero-length) */} FormData_pg_largeobject;
所有的大对象全部拆成 LOBLKSIZE 大小,放入 pg_largeobject 之中,通过 loid进行区分, 每个大对象拆分成的各个部分通过 pageno(叫元组序号更合理),进行顺序的关联起来,
pageno是通过 要写入的数据offset / LOBLKSIZE 计算的
pg的大对象实现的比较简单,并不适合大数据量的使用,会成为系统的瓶颈.
- postgresql 中的 large object
- Large Object Support大对象支持
- How to handling large volumes of data on PostgreSQL?
- The Large Sky Area Multi-Object Fiber Spectroscopic Telescope
- 大整数类Lint: Large Integer Object Library
- Alternative Objective-C object allocation for large arrays
- Large Margin Object Tracking with Circulant Feature Maps
- Large Margin Object Tracking with Circulant Feature Maps
- How to prevent object bloat in PostgreSQL
- PostgreSQL中的中文排序
- postgresql 中的|| 及''
- postgreSQL 中的 Lock
- postgresql中的spin lock
- PostgreSQL中的模糊查询
- postgresql 中的 clog
- postgresql中的pg_cancel_backend
- postgresql中的Background Writer
- postgresql中的toast表
- flex 前言
- postgresql中增加系统参数
- postgresql中的统计信息
- postgresql中新增数据类型
- 用PHP来截取中文字符串而不出现乱码的实现方法
- postgresql 中的 large object
- replication
- OpenCV:SURF算法浅析
- mysql 性能优化方案
- 智能玩家必入 Android目前主流CPU详解
- Eclipse快捷键大全(转载)
- 对一名电子信息工程专业应届毕业生的建议
- 53.字符串的排列
- 统计程序实例的个数