我是靠谱客的博主 热情鸡翅,最近开发中收集的这篇文章主要介绍mysql 强制执行顺序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

http://linux.chinaunix.net/techdoc/database/2008/07/29/1021449.shtml
http://www.cnblogs.com/wzjbk/p/5813956.html

遇到一个问题

SELECT DISTINCT t.id
FROM TRANSACTION t
    ,action a
    ,svr_nodes m
    ,svr_nodes s
WHERE (
        t.STATUS NOT IN (
            1
            ,9
            ,10
            )
        OR (
            t.STATUS = 9
            AND t.UpdateTime >= '2017-06-20 01:09:44'
            )
        OR (
            t.STATUS = 10
            AND t.UpdateTime >= '2017-06-20 01:09:44'
            AND EXISTS (
                SELECT 1
                FROM action a2
                WHERE t.id = a2.transid
                    AND a2.STATUS <> 2
                )
            )
        )
    AND t.id = a.transid
    AND (
        (
            (
                t.type IN (
                    128
                    ,371
                    ,283
                    ,273
                    ,404
                    )
                )
            AND (
                a.IdName = m.node_name
                OR a.IdName = s.node_name
                )
            AND m.node_name = s.peer_name
            AND m.peer_name = s.node_name
            AND (
                m.node_ip IN (
                    '10.205.128.183'
                    ,'10.205.128.213'
                    )
                OR s.node_ip IN (
                    '10.205.128.183'
                    ,'10.205.128.213'
                    )
                )
            )
        OR (
            t.type IN (
                363
                ,281
                )
            AND t.SetId = '5'
            AND t.AppId = '29'
            )
        );

这句sql 执行顺序没有按照预想的来
执行计划

根据上面引用了两篇博客, 加了一句hint

select distinct t.id from transaction t STRAIGHT_JOIN action a ...

于是执行计划变成下面这样
修改后执行计划
查询会在2秒左右返回. 之前的跑了一天都没有返回.
mysql 执行计划有时候不按照我们预想的来执行, 所以只能用hint 来告诉服务器按照什么顺序连接各个表了.

最后

以上就是热情鸡翅为你收集整理的mysql 强制执行顺序的全部内容,希望文章能够帮你解决mysql 强制执行顺序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部