博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql常用优化小知识
阅读量:6229 次
发布时间:2019-06-21

本文共 692 字,大约阅读时间需要 2 分钟。

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

转载地址:http://ovina.baihongyu.com/

你可能感兴趣的文章
Git命令行大全
查看>>
Node.js 4493图片批量下载爬虫1.00
查看>>
其实人缺乏对数据的真实分析能力,只知道数据展现和推演
查看>>
连接H3C交换机的Console口连不上
查看>>
Redis 简介
查看>>
JSt中对象的prototype属性
查看>>
iPhone应用程序 将图片保存到相册实例
查看>>
给DropDownList添加ToolTip(title)属性
查看>>
IOS新特性详情
查看>>
redis性能测试
查看>>
浅谈mysql的两阶段提交协议
查看>>
《影响力》 一个活生生的例子(转载)
查看>>
程序员有趣的面试智力题(转)
查看>>
分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控
查看>>
phpstorm中完成一键快速注释函数头
查看>>
VMware公司SpringSource部门宣布收购Gemstone Systems公司
查看>>
Linux Start Restart and Stop The Cron or Crond Service
查看>>
2014第12周四开发记
查看>>
[转]Spring MVC之@RequestMapping 详解
查看>>
HttpComponents入门解析
查看>>