位置: 编程技术 - 正文

通过格式良好的SQL提高效率和准确性(什么是格式良好的xml文档)

编辑:rootadmin

推荐整理分享通过格式良好的SQL提高效率和准确性(什么是格式良好的xml文档),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:一、使用格式,格式运用,什么是格式良好的xml文件,在格式状态下可以进行哪些操作,格式运用,在格式状态下可以进行哪些操作,格式运用,什么是格式良好的xml,内容如对您有帮助,希望把文章链接给更多的朋友!

格式良好的SQL并不会比乱七八糟的SQL运行效果更好。数据库其实不怎么关心SQL语句中你把逗号放到了字段名的前面还是后面。为了你自己思路清楚,应该做一个有效率的SQL编写者,我建议你遵守以下这些格式规则。在本文中我将分享如何通过格式良好的SQL语句提升生产率。我定义的效率指的是能从SQL 输出准确的结果,并且代码清晰易于理解、修改和调试。我只列出了“SELECT”语句,因为我写的SQL语句%都是查询语句。格式化SQL代码是非常个性化的事,我也很清楚因人而异,开发者都认为自己的格式化规则是最合理的。

样例问题

下面是一个典型的SQL应用场景,业务报表的数据来自三张表,客户表、销售表和地域表。基于年一月份的数据,该报表需要展示在每个行政区内的客户总数和销量总数。该需求通过一个简单的SQL语句就可以实现,需要关联查询三张表。

数据可能出现的问题

虽然SQL很简单,但保证你的结果正确仍然是真正的关键,因为有下面一些原因可能导致错误:

数据可能来自不同的数据源。也就是说你不能保证这几个表之间的完整性。具体举例来说,你不能假定客户表中所有的邮政编码都是有效的邮政编码,并且一定在地域表中存在。录入客户表数据的应用可能捕获到未经验证的地点数据,可能会包括错误的邮政编码。邮政编码表可能不是完整的。新发布的邮政编码可能没有在发布后及时导入到表中。

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfe.png" alt="查看图片" />

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfeb9.png" alt="查看图片" />

第一原则

对我来说,相比于编写清晰易读的SQL,从SQL得到正确的结果才是第一要务。我要做的第一件事就是编写下面的SQL语句来获取客户总数。在我写完整个语句之后我会再调整它。

我写的第一个语句是这样的:

这个查询很重要,因为它紧紧围绕第一原则。因为没有SQL管理查询,也就没有依赖,我知道这就是客户数量的正确结果。我把这个结果记下来,因为我总需要拿这个数字来衡量后面的SQL(是否正确),在本文后面也会多次提到。

下一步要做的事就是添加必要的字段和表完成查询。我特意把“添加”这个词高亮标注出来,因为根据我的规则,我会在应用第一原则时把能获取相同结果的查询注释掉。下面就是我最终格式化的查询语句。

格式化SQL

下面就是根据我的格式化思路推荐的格式化SQL。

通过格式良好的SQL提高效率和准确性(什么是格式良好的xml文档)

总是使用表别名

时间会证明这么做是有必要的。如果你没有对SQL语句中用到的每个字段使用别名,在将来某个时候可能会给这个查询语句添加进来别的同名字段。到那时候你的查询乃至报表就会产生错误(出现了重名字段名)。

逗号放到字段之前

在调试或者测试我的查询语句时,这么做可以方便地注释掉某个字段,而不需要修改其它行,所有的逗号都没有缺少或多余。不这么做的话你可能总要调整逗号才能保证语句正确。如果你经常要调试语句,这么做会带来极大方便,效率会更高。这个做法对“SELECT”部分和“GROUP BY”子句部分同样适用。

在开发时我使用“SELECT 0”作为语句的开始,迁移到正式环境时它很容易删除掉。这样我们就可以在后面所有字段前面都写都好了。没有这个“0”的话,如果我想注释掉第一个字段(本例中是“c.cust_post_code”),我就必须处理后面的逗号问题。我必须临时注释掉它,将来还要加回来。在“GROUP BY”语句中也是一样的。这个“0”是额外加的。

把“JOIN”放到独立行

把“JOIN”语句放到独立行有以下好处:

这么做很容易看到本查询语句涉及的所有表,只需要看滚动“JOIN”语句就可以了。

使用“JOIN”相比于在“WHERE”子句中列出所有表和表达式关系,可以把所有逻辑关系都放到一个地方。我们不可能总是吧“JOIN”语句放到一行中,但是至少应该放到一起。

这么做的话要注释掉“JOIN”语句也是相对容易的。这在调试时非常有用,你可能需要知道是否是“JOIN”引起了数据问题。

列模式编辑

在处理大量字段的情况时,列模式编辑非常方便。下面是我曾经做过的第一个动态GIF展示,你可以注释掉所有非聚集字段。我使用了列模式编辑,而不仅仅是注释掉字段:

创建全部索引

在使用字段较多的UNION语句时:

注释掉“GROUP BY”子句的字段清单

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfe7a.jpg" alt="查看图片" />

测试查询结果

我必须使用外连接“OUTER”列出所有客户,因为不是所有客户的邮政编码都在地域表里有相应的邮政编码。我可以通过包含和排除不同字段和表反复操作来确保我查询的结果与最开始那个查询(单独查询客户的那个语句)结果相同,这其实是对第一原则的遵守。

像这样的SQL对我来说意味着我必须写独立的测试来检查数据。通过注释掉的那几行语句我可以使用第一原则验证我查询数据的准确性。这么做提高了我的效率和报表。

标签: 什么是格式良好的xml文档

本文链接地址:https://www.jiuchutong.com/biancheng/347725.html 转载请保留说明!

上一篇:没有SQL Server数据库时如何打开.MDF文件(sql没有数据库)

下一篇:升级SQL Server 2014的四个要点要注意(升级尝鲜)

  • 劳务派遣公司企业所得税税率
  • 赠送的代金券属于销售费用吗?
  • 初级职称经济法基础重点
  • 去年的财务报表可以更正申报吗
  • 红字信息表跨月撤销和申报
  • 建筑安装企业增值税税负
  • 单位装修质保金扣留的会计处理
  • 一般纳税人交增值税会计科目
  • 支付结算办法主要内容
  • 单位起诉员工赔偿算劳动争议
  • 财务报表层次重大错报风险增大了认定层次
  • 安装固定资产领用原材料
  • 怎么查询财务章备案信息
  • 公司购买房产的税费
  • 个体工商户出售住房增值税
  • 金银制成的金银币及摆件是否征收消费税?
  • 收到外币货款账务处理
  • 未担保余值的账户怎么查
  • win11怎么用win10界面
  • macbook通知中心设置
  • 当月收到服务成本票下个月才开出发票
  • win11怎么用户改名
  • 银行提取现金会计等式
  • Windows操作系统出现内存错误解决方法
  • 职工教育经费列支范围规定
  • Laravel 5.5 的自定义验证对象/类示例代码详解
  • 资产负债表应收账款怎么计算
  • php支付接口对接教程
  • 进项税发票可以跨年认证吗
  • 小企业汇兑损失
  • 企业转让应收账款分录
  • 上个月的留底税这个使用,会计分录
  • java 访问者模式
  • 员工宿舍水电费计入什么会计科目
  • python3.9怎么删除
  • 会务费什么企业可以开
  • 支付国外佣金的税率多少
  • sqlserver数据库和mysql区别
  • 失控发票要补交所得税吗
  • 行政单位基建管理办法
  • 小规模纳税人认定标准500万
  • 个人咨询费发票怎么开
  • 购配件组装机器多少钱
  • 管理费用的核算要求
  • 双倍余额递减法计提折旧公式
  • 供应合同转让协议
  • 确定所开发票的项目的大类别?
  • 主营业务收入是含税还是不含税
  • 企业应付职工薪酬增加说明什么
  • 明细账要如何做账
  • win8电脑无法识别usb设备怎么办
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • xp磁盘管理打不开
  • linux系统故障及解决方法
  • bios和cmos的区别和联系
  • 华硕安装win7系统
  • win8右侧栏设置
  • nvsvc.exe - nvsvc是什么进程 有什么用
  • win8无线网络受限 重连又好了
  • win10移动版能运行电脑软件吗
  • win7怎么更改系统字体大小
  • javascript中循环结构包括
  • jquery 图片左右滚动
  • nodejs回调函数返回值如何传递给其它函数
  • 11月编程语言排行榜出炉
  • css onclick
  • 你可能不知道的湖北
  • cd弹出错误怎么回事
  • js实现二叉查找树
  • linux中fork()函数详解(原创!!实例讲解)
  • centos打开shell
  • 安卓手机管家怎么关闭
  • 简单谈谈你对中国国防建设的认识
  • 增值税的进项税额转出是什么意思
  • 浙江国税局电子税务局
  • 文化公司税务筹划
  • 地税登记序号查询系统
  • 河北省国家税务局长简介
  • 汽车车船税怎么交
  • 医生兼职取酬违反什么纪律
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设