加速 SQL 查询的 9 种方法

SQL 是开发和查询数据库的主要语言,但它有一些怪癖。在我的上一篇文章中,我分享了 7 个需要避免的 SQL 错误。现在,让我们来看看编写更快的 SQL 查询的 9 个最佳实践。

更快 SQL 查询的 9 个最佳实践

  1. 仅检索您需要的列

  2. 使用 CASE 而不是 UPDATE 进行条件列更新

  3. 将大表查询保持在最低限度

  4. 预先准备您的数据

  5. 批量执行删除和更新

  6. 使用临时表提高游标性能

  7. 使用表值函数而不是标量函数

  8. 使用分区来避免大量数据移动

  9. 使用存储过程来提高性能,使用 ORM 来提高便利性

仅检索您需要的列

一个常见的 SQL 习惯是在查询上使用SELECT *,因为列出所需的所有列是很乏味的。另外,有时这些列可能会随着时间的推移而改变,所以为什么不以简单的方式做事呢?

但是,如果您查询具有一百个或更多列的表上的所有列,会发生什么情况?这些庞然大物在野外以令人沮丧的规律性出现,并且并不总是能够将它们重新设计为更理智的模式。有时,驯服这头野兽的唯一方法是选择列的子集,这可以防止其他查询资源匮乏。

在对查询进行原型设计时使用是可以的SELECT *,但是任何进入生产的内容都应该只请求实际使用的列。

使用 CASE 而不是 UPDATE 进行条件列更新

开发人员经常做的其他事情是UPDATE ... WHERE根据另一列的值设置一列的值,例如UPDATE Users SET Users.Status="Legacy" WHERE Users.ID<1000. 这种方法简单直观,但有时会增加不必要的步骤。

例如,如果您将数据插入表中,然后使用UPDATE它来更改它,就像我刚才所

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值