①创建必要的索引

②使用预编译查询

③使用参数化sql会执行预编译,第一次执行的时候DBMS会为这个SQL语句进行查询优化并执行预编译

④调整where子句中的连接顺序

⑤DBMS一般次用自上而下的顺寻解析where子句,根据这个原理,表连接最好写在其它where条件之前,这样可以过滤掉最大数量记录

⑥select语句中避免使用*

⑦尽量将多条sql语句压缩成一条sql中

⑧用where子句替换having子句

⑨避免使用having子句因为它在聚合后过滤数据,过滤应放在聚合前

⑩使用表的别名

表别名可以减少解析时间

11、用Exists替代IN

in子句将执行一个子查询内部的排序和合并

12、用表连接替代EXISTS

13、避免在索引列上使用计算,会造成全表扫描

14、避免隐式类型转换造成的全表扫描

15、防止检索范围过宽

like、is not null可能会造成优化器匹配的记录太多

最新文章

  1. [IOS]译Size Classes with Xcode 6: One Storyboard for all Sizes
  2. javascript string 函数集
  3. cocos2d-x 之 内存管理(5)
  4. R 网页数据爬虫1
  5. JavaScript对象 + Browser 对象 + HTML DOM 对象
  6. Valgrind简介:
  7. struts2笔记01-环境搭建
  8. gcd-函数
  9. LINQ to Sql系列一 增,删,改
  10. javaWeb学习总结(7)-关于session的实现:cookie与url重写
  11. TOMCAT启动到一半停止如何解决
  12. lesson - 5 课程笔记 which/ type / whereis /locate /pwd / etc/passwd/ shadow/ group / gshadow /useradd /usermod /userdel /passwd / su sudo
  13. 为Ghost博客扩展代码高亮、数学公式、页面统计、评论
  14. QT通过url下载图片到本地
  15. DataGuard 单实例到RAC搭建
  16. MySQL Packets larger than max_allowed_packet are not allowed
  17. 解决Spark On Yarn yarn-cluster模式下的No Suitable Driver问题
  18. windows防火墙安全设置指定ip访问指定端口
  19. book118免费下载文档方法【转】
  20. cppjieba分词学习笔记

热门文章

  1. 关于电脑安装新硬盘,出现无法是识别设备,03F0问题解答。
  2. Dependency Injection in ASP.NET MVC
  3. 多态&接口
  4. 全栈框架——MEAN
  5. 【从零开始】【Java】【0】装软件些
  6. 前端手机验证码cookie存储
  7. day05_20190127_python之路——常用模块
  8. LSTM比较RNN
  9. SPOJ DISQUERY LCA + 倍增
  10. jmeter图片的下载