MySQL执行计划不准确 -概述,mysql执行计划
为毛 MySQL优化器的执行计划 好多时候都不准确,不是最优的呢(cpu+io)???
因素太多了::
存在information_schema的信息是定期刷新上去的,好多时候不是最真的,甚至相差好大(非高山峰时好好利用一下analyze table等);
现在一个企业有钱没地方花,买一大堆固态磁盘,碰巧非智能的MySQL不能很好滴跟上硬件优化的节奏,可能超过一部分的选择原理就不怎么准确了(这点相信其他数据库也是痛点吧);
环境因素/
配置因素
等等 ...
mysql5.1以后有一个叫做event的命令。当到达指定时间就会执行你预先写好的sql语句。应该适合你用。
下面是我前几天写的一个event句子正好用到,给你举个例子,需要的地方你自己修改一下
delimiter |
create event `event1`
on schedule
at '2012-11-27 18:05:00'
do
begin
UPDATE limit_master
SET
limit_value = 2,
upd_date = now()
WHERE
limit_code = 0;
end |
delimiter ;
这些是最基本的,我只是指定了时间。并且是一次执行,如果是每天执行的话在时间那里改为every + 你想要的时间(例如every 1 day / every 1 hour)。
详细参照mysql手册,那里是最详细的
使用explain, MySQL将解释它如何处理SELECT,提供有关表如何联接和联接的次序。你可以看到索引是不是正确使用了,根据这个来调整你的sql语句或者索引的建立。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。