sql优化常用的15种方法,sql优化面试题及答案
大家好,今天小编关注到一个比较有意思的话题,就是关于sql优化常用的15种方法的问题,于是小编就整理了3个相关介绍sql优化常用的15种方法的解答,让我们一起看看吧。
如何进行SQL性能优化?
一、使用索引 1.单表索引建议控制在5个以内 2.单索引字段数不允许超过5个因为字段超过5个时,实际已经起不到有效过滤数据的作用了。 3.禁止在更新十分频繁、区分度不高的属性上建立索引,因为更新会变更B+树,更新频繁的字段建立索引会大大降低数据库性能。 4.性别”这种区分度不大的属性,建立索引是没有什么意义的,不能有效过滤数据,性 能与全表扫描类似。 5.建立组合索引,必须把区分度高的字段放在前面,因为能够更加有效的过滤数据。
二、SQL使用规范优化 1.禁止使用SELECT *,只获取必要的字段,需要显示说明列属性。
1.1读取不需要的列会增加CPU、IO、NET消耗。 1.2不能有效的利用覆盖索引。 2.禁止使用INSERT INTO t_xxx VALUES(xxx),必须显示指定插入的列属性。 2.1容易在增加或者删除字段后出现程序BUG。 3.禁止使用属性隐式转换。 3.1 SELECT uid FROM t_user WHERE phone=13812345678 会导致全表扫描,而不 能命中phone索引。 4.禁止在WHERE条件的属性上使用函数或者表达式。 4.1SELECT uid FROM t_user WHERE from_unixtime(day)>='2019-07-15' 会导致全 表扫描。 4.2正确的写法是:SELECT uid FROM t_user WHERE day>= unix_timestamp('2019-07-15 00:00:00')。 5.禁止负向查询,以及%开头的模糊查询。 5.1 负向查询条件:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等,会导致全表扫描。 5.2 %开头的模糊查询,会导致全表扫描。 6.禁止大表使用JOIN查询,禁止大表使用子查询。 6.1会产生临时表,消耗较多内存与CPU,极大影响数据库性能。 7.禁止使用OR条件,必须改为IN查询。 7.1旧版本Mysql的OR查询是不能命中索引的,即使能命中索引,为何要让数据库耗费 更多的CPU帮助实施查询优化呢? 8.应用程序必须捕获SQL异常,并有相应处理 总结:大数据量高并发的互联网业务,极大影响数据库性能的都不能用哦。
sql处理思路?
SQL处理的思路主要包括分析需求,设计数据库表结构,编写SQL语句实现数据的增删改查操作,优化查询性能,处理并发和事务,确保数据库的安全性和稳定性。
在处理过程中需要注意事务的一致性和隔离级别,避免死锁和数据丢失等问题。
同时,也需要考虑索引的使用,以及连接、子查询、视图等操作的性能影响,以提高数据库的效率和性能。
在实际应用中,也需要注意SQL注入和数据安全等问题,保障数据库的完整性和安全性。
大量数据查询时候怎么优化sql?
1、优化SQL语句,使用Where限定查询的数据范围2、建立相关字段的索引,避免查询时进行全表扫描3、多数据表连接时,注意连接的主从表位置,避免小表Join大表
到此,以上就是小编对于sql优化常用的15种方法的问题就介绍到这了,希望介绍关于sql优化常用的15种方法的3点解答对大家有用。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.shehualu.com/post/2346.html发布于 05-19