1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > mysql or查询优化 如何进行SQL性能优化 – 数据库 – 前端 mysql 获取异常信息

mysql or查询优化 如何进行SQL性能优化 – 数据库 – 前端 mysql 获取异常信息

时间:2023-09-26 14:50:07

相关推荐

mysql or查询优化 如何进行SQL性能优化 – 数据库 – 前端 mysql 获取异常信息

二、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)>=’-07-15′ 会导致全 表扫描。 4.2正确的写法是:SELECT uid FROM t_user WHERE day>= unix_timestamp(‘-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异常,并有相应处理 总结:大数据量高并发的互联网业务,极大影响数据库性能的都不能用哦。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。