1 Postgresql 数据库设计中数据库名为小写,多个单词可以通过下划线来分割,一个数据库名建议不超过20-30个字符。
2 Postgresql 数据库设计中表名为小写,多个单词可以使用_下划线来进行分割,一个表名字尽量控制在20个字符以内。
3 Postgresql 在使用中可以使用存储过程,函数, 临时表。由于数据库将部署运维自动化工具,修改表结构等相关操作将导致触发器失效,不能使用触发器。使用存储过程中请尽量分割事务,对于频繁调用的存储过程,请进行测试将允许时间控制在合适的时间,建议不超过2-3秒钟,核心业务不能使用存储过程。
事务中需要有捕捉错误的代码,在存储过程出错后,进行及时反馈错误信息。函数不能与具体业务表有关,只能进行简单计算。
4 Postgresql 临时表属于进程,当进程终止后,临时表会被释放,如需要全局临时表可以使用实体表代替。清理时请使用 truncate table 的方式清理,减少wal log的产生。
5 Postgresql 在表设计中请使用utf8进行字符编码设计,所有数据库应统一相关编码,避免在后续数据库备份,移库,等出现一些不必要的麻烦。
6 Postgresql 在表设计中,不能使用外键,相关表关系在应用层定义。
7 Postgresql 在设计表中,主键设计控制,20字符以内,超过字符主键需要提出申请并说明原因,唯一索引一个表中最多只有一个,复合索引字段限制在3个及以内,另PG 支持include 索引,可以考虑使用include 的方式加速查询。
8 Postgresql 在表设计中,不建议使用经常进行, 行修改的模式,如一秒修改同一行N次,我们建议通过缓存,或REDIS的手段进行缓冲后,将状态变化完成的数据在刷入数据库,降低死锁,BLOCKED 的风险,提高程序的稳定性和性能。
9 Postgresql 在索引使用中可以进行选择:
1 普通方式的查询可以使用普通方式的索引进行处理
2 范围节点类型的查询,数据线性相关性很好,建议使用BRIN 索引进行处理查询。
3 模糊查询 LIKE %XXX% , 可以通过gin gist 方式索引处理,查询字符要超过3个字以上,字段大小小于10字符以下,表行数预估在1000万行以下。
4 字段中字符数量超过20不可以建立索引
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




