数据库设计小知识
2018-04-01 本文已影响0人
夜藍
1、树形分类表如何快速定位最高父级:用一个字段按顺序专门保存所有父级ID,并用分隔符分开。
2、查询的内容关联表太多,速度太慢怎么办:读写分离,另外建一张表SearchTable专门负责查询,把联合查询的所有数据放在SearchTable中,查询只查一张表,更新就更新多张表。
3、对于可能移植的数据库,或者数据表数据量上亿,主键用guid,而不是自增ID。
4、通过某些字段查询数据库表,提高速度,可用索引,模糊查询索引无效,索引需要定期维护残留碎片。
5、多个人同时修改一条数据避免被覆盖可加版本号字段。修改一次版本号+1,update条件加上版本号=XX
6、事务默认会锁表,甲事务先执行A表在执行B表,乙事务先执行B表再执行A表。当甲事务和乙事务被一起执行时,会发生死锁,因为两事务会相互等待对方释放表,所以事务的表顺序最好一致。
7、存储过程的优点是减少网络流量,降低了网络传输的数据量,所以对于一些几十条sql语句的操作会有更好的效果。缺点是对于开发来维护麻烦,所以存储过程建议不要写复杂的逻辑在里面。另外移植难,所以个人建议能不用就不用存储过程。