index row size 2720 exceeds maximum 2712 for index "xxx" ,Values larger than 1/3 of a buffer page cannot be indexed.
2024-08-30 11:39:19
记录一个bug情况:
我有个表NewTable,复合主键(slaveid,resid,owner)
CREATE TABLE "public"."NewTable" (
"slaveid" varchar() NOT NULL,
"resid" varchar() NOT NULL,
"owner" varchar(2) NOT NULL,
"a" bool,
"b" int4,
"c" text,
"ddd" varchar(),
"e" timestamp(),
"f" timestamp(),
PRIMARY KEY ("owner", "resid", "slaveid")
)
WITH (OIDS=FALSE)
;
存数据进去的时候,slaveid,resid,owner三个字段都特别长,达到几万字节,其他字段长度的只有几十
那么问题来了,当入参足够长的时候,会报错如下
[Err] ERROR: index row size exceeds maximum for index "pk_t_portal_slave_extend"
HINT: Values larger than / of a buffer page cannot be indexed.
Consider a function index of an MD5 hash of the value, or use full text indexing.
原因:报错说 超过缓存1/3大小就不予检索,也就是说
length(slaveid + resid +owner) / length(所有入参字节总和) > 1/3
则认为主键长度太大,就数据库就放弃检索复合主键是否唯一,就报错不处理了。
解决办法,正在尝试,参看:
Consider a function index of an MD5 hash of the value, or use full text indexing.
最新文章
- svd自我学习
- Linux下dns服务器搭建
- Python操作Mysql实例代码教程在线版(查询手册)
- [转载] leveldb日知录
- 【转】 iOS 两种方法实现左右滑动出现侧边菜单栏 slide view
- [每日一题] OCP1z0-047 :2013-07-27 外部表――不能被DML和建索引
- 无向图的完美消除序列 判断弦图 ZOJ 1015 Fish net
- 4.如何实现用MTQQ通过服务器实现订阅者和发布者的通讯
- 常见文本类css属性
- 键盘快捷键大全 - Mac 技巧
- 《Dare To Dream 》第三次作业--团队项目的原型设计与开发
- php基本类型
- sitecore系列教程之简单和个性化
- leetcode717—1-bit and 2-bit Characters
- psycopg使用
- Android——黑名单管理
- 什么是API测试
- 2017面向对象程序设计(Java)第六周学习总结
- HBase入门教程
- DOM节点的三个属性