mysql 优化Function

查询:

    重新定义关联表的顺序:

        *数据表的关联并不总是按照在查询中指定的顺序进行,觉醒关联的顺序是优化器

    将外连接转化内连接:

        *并不是所有的OUTER JOIN 语句都必须以外连接方式执行,ex:where条件、库表结构都可能会让外连接等价于一个内连接,mysql能够识别并且重写查询、从而重新调整关联顺序

    使用等价变换规则:

        *mysql可以使用一些等价变换来简化并且规范表达式。ex:(a<b and b=c) and a=5  => (b>5 and b=c and a=5).

    优化 COUNT()、MIN()、MAX()

        *索引和列是否未空通常可以帮助mysql优化。ex:1:查询某一列的最小值,只需要查询对应 B-TREE索引最左前端的记录。2:没有任何 WHERE条件的COUNT(*) 查询可以使存储引擎提供一些优化

    子查询优化:

        *某些情况下,可以将子查询转换一种效率更高的形式,从而减少多个查询之间多次对数据进行访问

    提前终止查询:

        *在特定的情况下,满足所需查询数据了,可以在WHERE条件里面 加上 一些 DISTINCT、NOT EXIST(),或者 LEFT JOIN 类型的查询

    列表IN()的比较:

        *IN(),完全等同于多个 OR 条件的字句、因为两者是完全等价的。但MYSQL里面则是 先将IN()列表中的数据先进行排序,然后通过二分查找的方式确定列表中的值是否满足条件

    

转载于:https://my.oschina.net/crazyl/blog/1815631

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值