加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

不要这样写SQL 改掉这些坏习惯

发布时间:2018-10-18 09:07:45 所属栏目:编程 来源:会技术的葛大爷
导读:SQL是作为一个程序员接触得非常多的一种语言,但是,很多时候,我们会发现,有些SQL的执行效率异常的差,造成了数据库的负担。我们通过分析这些有问题的SQL,就可以发现很多我们平时在写SQL的时候忽略的问题。 今天,我们就来讲一下这些需要改掉的坏习惯。

通常,我们设计User表时,并不会把LoginID作为主键,但是,LoginID确会在业务逻辑中验证唯一性,因此,如果使用

  1. select * from User where LoginID = '{LoginID}' 

查询时,结果一定只有一条。但是,数据库是不知道的,即使找到了这唯一的一条结果,他也会一直继续,直到扫描完所有的数据。

因此,在执行这样的查询时,我们可以优化一下,改成:

  1. select * from User where LoginID = '{LoginID}' limit 1 

这样,当查询到结果时,就不会再继续了。

最后,上面所有的例子都是坑

尽量少用或别用Select *,我们的查询其实都是有目的的,就好像登录一样,我们其实只需要知道有结果返回就行了,使用select count(0)就可以了,但是我们使用select * 的话,就会消耗大量无效的数据库内存。

不要这样写SQL 改掉这些坏习惯

【编辑推荐】

  1. 分布式数据库TiDB在商业银行的设计与实践
  2. 数据库两大必备神器:索引和锁底层原理是什么!
  3. 继续深入数据库 了解一下数据库的锁机制
  4. 想用数据库“读写分离” 请先明白“读写分离”解决什么问题
  5. 数据库常用的事务隔离级别都有哪些?都是什么原理?
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读