本文共 692 字,大约阅读时间需要 2 分钟。
- 1.尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符串型,笔者理解任何系统,对原始类型的任何操作肯定是优于组合类型的,这里数字型就是原始类型,字符串型底层其实是由单个字符拼接的,对字符串的很多操作其实会转化为对单个字符的操作
- 2.尽可能的使用 varchar 代替 char ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。除非是确定的长度可用char
- 3.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。道理很简单,数据库首先要知道*是什么,这肯定没有指定字段开销小,其次会有一些没有用到的列,会增加服务器数据传输时间
- 4.适当使用临时表,例如,当需要重复引用大型表或常用表中的某个数据集时。很好理解,需要重复操作很大一个数据池中的部分数据,如果每次操作都扫描整个数据池的数据显然不如把这些数据提取出来放到另一个数据池然后每次去操作新的数据池速度更快,当然如果只是一次操作就没必要提取出来,也就没必要使用临时表
- 5.数据量小时可以使用游标,很多博客做过实验如果游标操作的数据超过1W行,可能就会执行失败。笔者有一个替代方案,就是用一个临时表,把要操作的原数据插入这个临时表,并加1个序列字段,从1自增,这样对游标的遍历就可以转化为对临时表中序列的while循环
- 6.尽量避免大事务操作,提高系统并发能力。这条一般不会注意,1个事务过大往往意味着执行时间长,只有并发量大时,才会发现有影响。平时在事务粒度控制上往往因为追求原子性会把很多操作放在1个事务中
转载地址:http://ovina.baihongyu.com/