- 建议对表、视图、列添加备注,可以通过阅读备注信息,快速了解相关对象定义,了解相关业务关联逻辑。
- 在对象命名时,取名应与该对象表达的意义相匹配,做到见名知义。
- 建议update更新时尽量增加 <> 判断条件,例如update table_a set column_b = c ;可以更改为update table_a set column_b = c where column_b <> c;更新列时,已经是更新后值的记录不会再去更新,不会新增1个版本记录,可以减少vacuum回收工作量。
- 建议不要使用大事务,大事务会锁更多的资源,锁的时间会更长,应将大事务按业务需要拆分成多个小事务,拆分成小事务后可以有效降低锁冲突概率。
- 建议大批量数据入库时,使用copy代替insert、upsert,可以显著提高效率。
- 不使用外键,外键会让数据库逻辑变的更复杂,还有一些使用限制,应通过业务逻辑代替外键。
- 不使用触发器,触发器严重影响性能,应通过业务逻辑代替触发器。