当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-05-02 15:51:00  来源:本站整理

巧建sum索引提高MySQL至少100%的效率[MySQL防范]

赞助商链接



  本文“巧建sum索引提高MySQL至少100%的效率[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

MySQL数据库巧建sum索引,可以提高至少100%的效率,办法以下:

有两个表,表a

  CREATE TABLE `a` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`fid` smallint(6) unsigned NOT NULL DEFAULT '0',`cnt` smallint(6) unsigned NOT NULL DEFAULT '0',
  ...
  PRIMARY KEY (`id`),
KEY `idx_fid` (`fid`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8

 表b

CREATE TABLE `b` (
`fid` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`name` char(50) NOT NULL DEFAULT '',
...
...
...
PRIMARY KEY (`fid`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8

操作SQL以下:

SELECT COUNT(*) AS num1, SUM(a.cnt)+COUNT(*) AS num2
FROM a, b
WHERE b.fid='10913' AND a.fid=b.fid

我们先看下履行筹划:

我们可以看到扫描行数是229049行,履行时间:

太可怕了,运行set profiling=1,让我们看看时间主要损耗在那边?

sending data耗费的时间较长,那这段时间毕竟是做什么的呢?先看下这个吧:http://renxijun.blog.sohu.com/82906360.html

意思是它在为select语句预备数据,办理办法:

建索引:

create index idx_fid_cnt on a (fid,cnt);

再看下,履行筹划和履行时间:

总结:利用得当的索引,是sql的效率倍增,近似sum的函数还有min(),max(),这些都需求在字段上建索引   以上是“巧建sum索引提高MySQL至少100%的效率[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 巧建sum索引提高MySQL至少100%的效率
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .