sql语句优化方法有哪些(sql优化常用面试题)

技术SQL优化方法有哪些这篇文章主要讲解了“SQL优化方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL优化方法有哪些”吧!一、避免进行null判断 应

本文主要讲解“有哪些SQL优化方法”。本文的解释简单明了,易学易懂。接下来,请跟随边肖的思路,一起学习学习《SQL优化方法有哪些》!

首先,避免无效判断

尽量避免

Where子句来判断字段的NULL值,否则会导致引擎放弃使用索引并扫描整个表。在这里,最好不要给数据库留空,尽量使用NOT NULL来填充数据库。

评论、描述、评论等可以被设置为

NULL,最好不要使用NULL。不要误以为NULL不需要空格,比如char(100)类型。当字段建立时,空间是固定的。无论是否插入该值(包括空值),它都会占用100个字符的空间。如果是varchar这样的可变长度字段,null不会占用空间。您可以在num上设置默认值0,以确保表中的num列中没有null值。

第二,不要使用select *

选择*会增加解析时间,同时也会查询出不必要的数据,从而延长数据传输时间,消耗能量。例如,文本类型的字段通常用于存储内容复杂的内容。如果使用选择*,也会查询该字段。

第三,谨慎使用模糊查询。

当模糊匹配以%开头时,列索引将无效。如果不以%开头,则列索引有效。

第四,不要使用列号。

使用列号会增加不必要的解析时间。

5.优先考虑联合所有,避免联合。

因为UNION将比较每个查询子集的记录,所以它通常比UNION ALL慢得多。一般来说,如果UNIONALL能够满足要求,一定要使用UNION ALL。还有一种情况,如果业务能够保证不会有重复记录。

6.避免在where语句或order by语句中计算索引字段。

对索引列进行操作后,索引将变得无效。正确的方法是计算值,然后传入。

七、用不存在代替不在

如果查询语句使用not in,则在整个表中扫描查询语句的内部和外部,并且不使用索引。但是,notextsts的子查询仍然可以用于表中的索引。

八、存在与在的区别

In是对外部表和内部表进行散列,而exists是对外部表进行循环,每个循环循环

然后查询内部表。因此,在中使用外表的索引,而在中使用内表的索引。如果查询的两个表大小相同,则in和exists之间几乎没有区别。如果两个表中的一个很小,另一个很大,则子查询表很大,存在,子查询表很小,有。

九.避免对索引列执行以下操作

1.避免在索引列上使用“为空”和“不为空”。

2.避免对索引列进行数据类型转换。(例如,字段的类型为String,传入时参数的类型为int)当对索引列使用上述操作时,索引将无效,从而导致全表扫描。

十、复杂的操作可以考虑适当拆分成几个步骤。

有时,有通过SQL语句实现复杂业务的例子。为了实现复杂的业务,嵌套了多级子查询。导致SQL性能问题。在这种情况下,考虑拆分SQL,通过多个SQL语句实现它,或者将程序可以做的部分工作交给程序。

感谢阅读。以上就是“SQL优化方法有哪些”的内容。看完这篇文章,相信你对SQL优化方法有哪些的问题有了更深的理解,具体用法还需要实践来验证。在这里,边肖将为您推送更多关于知识点的文章,敬请关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155437.html

(0)

相关推荐

  • win10系统Docker怎么搭建设备共享平台stf

    技术win10系统Docker怎么搭建设备共享平台stf本篇内容介绍了“win10系统Docker怎么搭建设备共享平台stf”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如

    攻略 2021年12月13日
  • oraclehashjoin怎么使用(oracle创建hash索引语句)

    技术Oracle数据库中hash join和nested loop怎么用这篇文章主要为大家展示了“Oracle数据库中hash join和nested loop怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,

    攻略 2021年12月13日
  • 怎么才能持久,如何才能获得长久的幸福

    技术怎么才能持久,如何才能获得长久的幸福美国著名的心理学家马丁塞利格曼
    说:幸福快乐的人生有三种怎么才能持久。
    第一种,是愉快的人生。
    这样的人生所拥有的快乐多得不能再多了,积极情绪多得不能再多了。学习快乐的技巧,在时间

    生活 2021年10月27日
  • zookeeper主要有什么模式和什么模式(zookeeper的功能有哪些)

    技术ZOOKEEPER操作流程是怎样的这篇文章给大家介绍ZOOKEEPER操作流程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  1、解压  2、配置环境变量  3、修改conf/zoo_

    攻略 2021年12月24日
  • 感觉拼音,如果让你用拼音来写QQ空间的日志

    技术感觉拼音,如果让你用拼音来写QQ空间的日志估计真要用汉语拼音写日志感觉拼音,汉语拼音创始人,17世纪的法国(也算比利时)传教士金尼格也能看懂吧。
    中国自己的拼音第一人卢戆章却未必能看懂(他一直擅长拼音闽南语)
    方言是

    生活 2021年10月20日
  • 微信小程序怎么嵌入python代码(python如何编写微信小程序)

    技术python如何实现微信小程序反编译这篇文章主要介绍“python如何实现微信小程序反编译”,在日常操作中,相信很多人在python如何实现微信小程序反编译问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年12月13日