ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 12436|回复: 39

【大话IT】不得不说的事!SQL语句优化大盘点

[复制链接]
论坛徽章:
8
2015年新春福章
日期:2015-04-22 09:15:50美羊羊
日期:2015-04-28 08:58:41暖羊羊
日期:2015-05-05 11:13:16慢羊羊
日期:2015-07-03 14:57:082017金鸡报晓
日期:2017-01-10 15:25:58目光如炬
日期:2016-06-05 22:00:00秀才
日期:2017-04-06 18:09:28秀才
日期:2017-05-09 11:37:55
发表于 2017-1-8 20:01 | 显示全部楼层 |阅读模式
获奖公布:
最佳优胜奖: xuexiaogang
精彩回复: qingduo04  lxl489591374  fantigcy
请以上获奖人员在3月10日前将姓名、电话、邮箱、公司、职务、快递地址站短给hyukhae079408,以便尽快给大家发放礼品。衣服请备注颜色(红色或蓝色)和号码(L、XL、XXL)。
话题背景:
很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。
我们每天都在写 SQL 相关的语句用于各种数据索引中。关于SQL 优化的那些事儿,鲜少有人能总结全面。今天,就SQL优化那些事儿,让我们展开讨论。


今日话题:
1.您一般在写SQL时需要注意哪些问题,可以提高查询的效率?
2.请分享一次印象深刻的SQL优化:除了SQL改写,还要考虑什么?
3.如何查看到效率低的SQL?
4.请简要总结下,您的SQL语句优化技巧(至少写3点)


活动时间:2017年1月8日—2017年1月20日


活动奖励:
本期活动,我们将特设1最佳优胜奖,送DTCC2017大会门票一张。

同时,我们将会选取3精彩回复,各送一件社区加厚版运动帽衫

       131904y3bbdll8gjkuycku.jpg


DTCC 2017 来啦!

随着云计算和大数据时代的来临,数据正在以前所未有的速度成为各个领域价值创造的核心驱动力。

在此背景下,国内最受关注的数据库技术盛会——2017第八届中国数据库技术大会(DTCC2017)将于2017年5月11-13日如约而至。本届大会以“数据驱动•价值发现”为主题,汇集来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域的120多位技术专家,共同探讨Oracle、MySQL、NoSQL、云端数据库、智能数据平台、区块链、数据可视化、深度学习等领域的前瞻性热点话题与技术。大会共设定2大主场和20个技术专场,将吸引5000多名IT人士参会,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。




官网链接:http://dtcc.it168.com/
购票链接:http://dtcc.it168.com/goupiao.html

欢迎扫码关注DTCC官方微信,获取最新信息!





求职 : SAP实施
认证徽章
论坛徽章:
261
巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32芝加哥公牛
日期:2017-02-07 09:03:42芝加哥公牛
日期:2017-02-07 09:03:43芝加哥公牛
日期:2017-02-07 09:03:43芝加哥公牛
日期:2017-02-07 09:03:43芝加哥公牛
日期:2017-02-07 09:03:43
发表于 2017-1-9 09:40 | 显示全部楼层
支持

使用道具 举报

回复
论坛徽章:
10000
地主之星
日期:2015-07-20 17:15:36地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-09-01 17:59:09地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-09-01 14:14:25地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58
发表于 2017-1-9 12:24 | 显示全部楼层
支持


使用道具 举报

回复
认证徽章
论坛徽章:
83
秀才
日期:2016-02-18 09:21:30秀才
日期:2016-02-18 10:08:14秀才
日期:2016-03-24 09:10:24秀才
日期:2016-03-24 09:20:52秀才
日期:2016-04-21 14:08:532017金鸡报晓
日期:2017-01-10 15:33:11ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2016-06-23 14:15:06富豪徽章
日期:2016-12-16 15:51:50秀才
日期:2016-02-18 10:08:02
发表于 2017-1-9 14:03 | 显示全部楼层
支持   

使用道具 举报

回复
认证徽章
论坛徽章:
192
2010新春纪念徽章
日期:2010-03-01 11:20:51至尊黑钻
日期:2015-02-15 09:47:47至尊黑钻
日期:2015-08-13 13:38:12管理团队2007贡献徽章
日期:2015-01-19 09:48:272015年中国系统架构师大会纪念徽章
日期:2015-07-31 17:48:202015中国数据库技术大会纪念徽章
日期:2015-05-15 14:08:23红宝石
日期:2015-02-03 10:26:04红宝石
日期:2015-01-19 09:42:28红宝石
日期:2015-01-19 09:46:08会员2007贡献徽章
日期:2015-02-03 10:26:41
发表于 2017-1-9 17:15 | 显示全部楼层
支持

使用道具 举报

回复
认证徽章
论坛徽章:
324
秀才
日期:2015-08-18 12:39:34嫦娥
日期:2015-08-21 09:11:54秀才
日期:2015-07-24 09:00:17秀才
日期:2015-07-09 09:23:47状元
日期:2015-07-06 10:49:17秀才
日期:2015-07-06 10:34:54秀才
日期:2015-07-06 10:34:54秀才
日期:2015-07-03 15:58:35秀才
日期:2015-07-03 15:58:35秀才
日期:2015-07-02 11:39:08
发表于 2017-1-10 10:37 | 显示全部楼层
支持      

使用道具 举报

回复
求职 : ERP实施
论坛徽章:
16
秀才
日期:2015-08-24 09:48:07秀才
日期:2017-03-28 15:59:38秀才
日期:2017-03-20 13:42:20秀才
日期:2017-02-22 15:18:00秀才
日期:2016-12-21 16:55:07秀才
日期:2015-08-27 10:02:22知识
日期:2015-08-27 10:00:052015年新春福章
日期:2015-03-06 11:58:39沸羊羊
日期:2015-03-04 14:53:52马上有房
日期:2014-12-13 13:59:59
发表于 2017-1-10 10:55 | 显示全部楼层
我是来学习的

使用道具 举报

回复
认证徽章
论坛徽章:
239
至尊黑钻
日期:2015-09-25 14:27:26粉钻
日期:2015-10-16 10:53:36紫钻
日期:2015-10-16 10:53:21红钻
日期:2015-09-25 15:05:50黄钻
日期:2015-10-17 12:23:40绿钻
日期:2015-10-24 10:29:30至尊黑钻
日期:2015-08-14 13:24:07粉钻
日期:2015-10-24 10:30:07紫钻
日期:2015-11-03 22:32:09红钻
日期:2015-11-06 17:21:40
发表于 2017-1-10 12:17 | 显示全部楼层
一排的支持,但是都没有干货的

使用道具 举报

回复
认证徽章
论坛徽章:
836
状元
日期:2015-11-12 10:18:05榜眼
日期:2015-11-12 10:18:05探花
日期:2015-11-12 10:18:05进士
日期:2015-11-12 10:18:05举人
日期:2015-09-11 13:42:08秀才
日期:2015-09-17 09:11:05至尊黑钻
日期:2015-11-20 18:17:09紫钻
日期:2015-11-20 18:18:06粉钻
日期:2015-11-20 18:17:23绿钻
日期:2015-11-20 18:17:48
发表于 2017-1-10 13:41 | 显示全部楼层
顶一下

使用道具 举报

回复
认证徽章
论坛徽章:
204
状元
日期:2015-08-13 09:42:33榜眼
日期:2015-08-03 13:57:54探花
日期:2015-07-31 13:44:02举人
日期:2015-07-01 15:00:51进士
日期:2015-07-27 11:26:49秀才
日期:2015-07-27 09:45:522015年中国系统架构师大会纪念徽章
日期:2015-07-23 09:58:092014系统架构师大会纪念章
日期:2015-07-23 09:58:092013系统架构师大会纪念章
日期:2015-07-23 09:58:092012系统架构师大会纪念章
日期:2015-07-23 09:58:09
发表于 2017-1-10 13:43 | 显示全部楼层
1.您一般在写SQL时需要注意哪些问题,可以提高查询的效率?
WHERE条件中的字段最好有唯一索引。注意合理使用(not)Exists和(not) in关键字。注意使用Between ON关键字。注意WHERE的前后顺序。注意表链接中和WHERE条件的顺序。这些都会影响到最后SQL查询的效率。
2.请分享一次印象深刻的SQL优化:除了SQL改写,还要考虑什么?
比如A表记录很多,B表记录很少。需要过滤A表和B表查询。这时候笛卡尔积的结果就很重要。如果使用传统的查询先做笛卡尔积再查询,那速度就慢死了。可以先对大数据量的表过选择操作后再和B表做笛卡尔积操作速度就会快很多。
3.如何查看到效率低的SQL?
一般来说都是通过性能分析。不管是SQL Server的SSMS,还是Oracle的EM,以及MySQL的第三方工具,基本上都提供了性能分析工作。而且是图形化的。
4.请简要总结下,您的SQL语句优化技巧(至少写3点)
a)、作好索引工作,索引不是越多越好,只对需要使用的字段建立索引。
b)、少用(not)in操作,多用(not)exists.
c)、注意使用好连接操作。如第二点中提到的情况。

1人打赏

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表