用户操作
[即时聊天] [发私信] [加为好友]
heiyelurenID:heiyeshuwu
892328次访问,排名39好友93人,关注者144
既然决定远行,便只顾风雨兼程。
heiyeshuwu的文章
原创 282 篇
翻译 3 篇
转载 209 篇
评论 517 篇
heiyeluren的公告

联系方式:


访问统计: free hit counter code
FeedSky订阅:
FeedSky订阅
最近评论
heiyeluren:注册发帖后才能下载。。。。不知道论坛咋设置。。。 :-)
kong:注册了也不能下载.....提示您的操作将会导致您的 金钱 低于系统规定的下限值 0
赵舜尧:感谢博主的分享,期待你的“下章接着讲述数据分割和散列方面的内容”
adobe cs4:呃,LAMP经典应用……
俺的
Adobe cs4也是
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
文章分类
收藏
    相册
    技术图片
    搜索引擎
    ::eYou::
    kevin world
    lewis - 老吕
    qyb - BT的花
    Realzay的blog
    叶金荣
    天堂地狱鬼-dulao5's Blog
    沙漠之周
    狐狸糊涂
    老韩
    與子觀化
    ::Yahoo::
    glemir’s blog
    happy_fish - 分布式文件系统FastDFS
    LinZi's Blog
    Rainx
    stauren
    互联网,请记住我 - 162同学的技术博客
    冰的河
    小蚂蚁同学滴测试博客
    张彪同学
    随网之舞 - kaven的DHTML博客
    风雪之隅
    ::朋友::
    【推荐】中文分类网
    DDR的博客
    kevin world
    miky
    PHPCup.cn论坛
    俺兄弟的blog
    冰河的技术博客:心随风动
    好旅网
    小少的技术博客
    无尘居
    晋陵路人的Blog
    李天华同学滴技术博客
    沙狐部落
    轻量级的editor
    ::网友::
    blankyao同学
    Code & Stock.
    LionD8的Blog
    MooPHP - 轻量级PHP框架
    Phzzy
    张贺同学的博客
    技术大牛老余的博客
    抚琴居
    旋木木同学滴博客
    矛盾网
    程序人生
    邢红瑞的blog
    阿健的博客
    :PHP博客:
    .: Easy style :.
    [琴剑楼]
    CoolCode.cn
    Haohappy的Blog
    Hightman
    iwind的blog
    Javascript开发站
    JD Space
    Nio's Weblog
    Open Source PHP
    PHP面对对象
    SourceForge.net
    trip的专栏
    UGIA.cn
    windix's blog
    Windix's Weblog
    一个藏袍
    俊麟 Michael`s blog
    偶然的blog
    刘敏的blog
    大龄青年的Blog
    廖宇雷的blog
    懒猫开始新生活blog
    某人的栖息地
    王春生的博客
    神仙
    :牛人blog:
    DBA notes
    http://blog.csdn.net/tingya/
    侯捷网站
    孟岩
    搜索引擎研究
    方舟
    王咏刚的BLOG
    竹笋炒肉
    荣耀
    车东[Blog^2]
    透明思考
    陈硕的Blog
    DHTML
    DHTMLGoodies
    FCKEditor
    Google Code
    Google Web Toolkit
    HTML Goodies
    HTML.it
    HTMLAre
    HTMLdog
    JavaScript Kit
    jQuery
    KindEditor
    Prototype
    TinyMCE
    W3 Schools
    Yahoo JavaScript Developer Center
    Yahoo! Developer Network
    Yahoo! UI Library (YUI)
    网页设计师Web标准
    Java国内站
    ChinaJavaWorld.com技术论坛
    IBM developerWorks 中国: Java
    Java中文站
    Java开源大全
    Java爱好者
    JR - Java翻译站
    J道-JDON
    Matrix: 与Java共舞
    中国Java开发网
    中文java技术网
    PHP国内站点
    CSDN PHP论坛
    Discuz!
    FleaPHP
    Google--PHP用户组
    IBM DeveloperWorks
    JavsScript技术讨论
    Nirvana Studio
    OpenPHP.cn
    PHPChina
    TiM Club
    中文 PFC 1.0 手册--PHP5的开发包
    中文 PFC 1.0 手册--PHP5的开发包
    中文PHP网
    太平洋--PHP开发区
    爱MySQL
    超越PHP
    PHP国外站点
    ADOdb
    Agavi Framework
    Cake PHP
    MySQL Performance Blog
    MySQL Performance Blog
    Nonaweb
    PEAR
    PECL
    PECL Windows
    PHP Builder
    PHP Classes
    PHP Classes
    PHP New Download
    PHP Security Consortium
    php.MVC
    php.MVC
    PHPkitchen(OO & MVC)
    phpPatterns
    PHP国外图书下载
    smart template
    Smarty
    SourceForge.net
    Symfony Framework
    Zend
    Zend Framework
    Unix C/C++
    Free Gentux
    周立发的blog(Linux C)
    Unix/Linux
    BSD智库
    ChinaUnix
    FreeBSDChina
    FreeLAMP
    IBM开发者Linux专区
    Linux Byte
    LinuxKit
    LinuxTS
    Linux伊甸园
    Linux技术中坚站
    Linux非常空间
    Love Unix
    NetBSD&OpenBSD中文用户组
    NetBSD中国社区
    Oracle中国用户讨论组
    OurLinux
    Unix中文
    Unix中文
    Unix中文宝库
    中国Linux公社
    中国Unix用户技术论坛
    中文FreeBSD用户组
    永远的Unix
    炎黄角马
    程序设计
    CSDN
    IBM开发者中心
    Microsoft TechNet: 主页
    MSDN 中文网站
    PHP中文站
    Sun技术社区
    中国IT认证实验室--企业应用技术
    中国协议分析网
    喜悦国际村
    太平洋电脑网---开发特区
    实用网站
    veBook(国外大量免费图书下载网站)
    Whois.net
    中国Web信息博物馆
    中国互联网络信息中心whois查询
    服务器系统信息查看
    网络安全
    AnySide.com
    CGI Secutiry
    K-OTik Security Monitoring
    Linux Security
    Packet Storm Security
    PHP Secure
    RFC中文文档索引
    Safemode.org
    SecuriTeam.com
    Security Corporation
    SecurityFocus
    SecurityTracker
    Zone-h (区域黑客,每天公布各国被黑的网站)
    中华安全网
    中国信息安全组织
    国家计算机网络应急处理中心
    安全天使
    安全焦点
    幻影旅团
    绿盟科技
    网络安全评估中心(cnns )
    在线手册
    Apache2.0中文文档
    Beyond Linux From Scratch
    Debian参考手册
    FreeBSD Porter 手册
    FreeBSD使用手册
    Linux C函数中文参考手册
    MySQL 4.1.0 中文参考手册
    NetBSD在线手册
    OpenBSD在线FAQ
    PHP ADODB 1.99版手册中文翻译(Tripc)
    PHP中文手册(国内)
    PHP中文手册(国外)
    PostgreSQL中文文档
    Red Hat Linux 9入门指南
    Red Hat Linux 9安装指南
    Red Hat Linux 9定制手册
    中国OSS技术手册中心
    技术文档手册中心-ChinaUnix
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 [原创]MySQL中MyISAM引擎和Heap引擎执行速度性能测试收藏

    新一篇: [原创] 推荐介绍几款小巧的Web Server程序 | 旧一篇: [感悟] 纪念我在CSDN写博三年整


    MySQL中MyISAM引擎和Heap引擎执行速度性能测试

     

    【测试环境】

    CPU:    Intel Pentium4 2.66GHz
    Memory: 1GB
    Disk:   73GB/SCSI

    OS:  FreeBSD 4.11
    PHP: PHP 5.2.1
    MySQL: MySQL 4.1.23b

     

    【 前期工作 】

    [ my.cnf ]

    max_heap_table_size = 128M


    [ 建表 ]

    use test;

    --
    --
     Store engine heap
    --
    CREATE TABLE `tbl_heap` (    
      `id` 
    int(11NOT NULL auto_increment,   
      `name` 
    varchar(32NOT NULL default ''
      `email` 
    varchar(32NOT NULL default '',  
      `summary` 
    varchar(255default ''
      
    KEY `id` (`id`)    
    ) ENGINE
    =HEAP DEFAULT CHARSET=gbk; 

    --
    --
     Store engine myisam
    --
    CREATE TABLE `tbl_isam` (    
      `id` 
    int(11NOT NULL auto_increment,   
      `name` 
    varchar(32NOT NULL default ''
      `email` 
    varchar(32NOT NULL default '',  
      `summary` 
    varchar(255default ''
      
    KEY `id` (`id`)    
    ) ENGINE
    =MyISAM DEFAULT CHARSET=gbk;

     


    【插入数据】

    说明:每次都是空表插入数据

    [插入10000 Record]
    Heap engine insert 10000 record used time: 3.5008587837219
    MyISAM engine insert 10000 record used time: 4.5881390571594

    [50000 Record]
    Heap engine insert 50000 record used time: 19.895354986191
    MyISAM engine insert 50000 record used time: 33.866044998169

    [100000 Record]
    Heap engine insert 100000 record used time: 36.200875997543
    MyISAM engine insert 100000 record used time: 68.34194111824

    [200000 Record]
    Heap engine insert 200000 record used time: 68.00207901001
    MyISAM engine insert 200000 record used time: 125.26263713837


    【查询数据】

    表里分表有:200000条记录,两个表数据一致

    [直接select,10000次,每次取100条记录]
    Heap engine select 10000 times, 100 record used time: 12.122506141663
    MyISAM engine select 10000 times, 100 record used time: 19.512896060944

    [直接select,1000次,每次取10000条记录]
    Heap engine select 1000 times, 10000 record used time: 111.54126811028
    MyISAM engine select 1000 record used time: 116.79438710213

    [增加where条件,1000次,每次取10000条记录]
    Heap engine select 1000 times, 10000 record used time: 111.52102303505
    MyISAM engine select 1000 times, 10000 record used time: 117.68481087685

    [where条件,10000次,每次从1000条起,取1000条记录]
    Heap engine select 10000 times, 1000 record used time: 124.28988695145
    MyISAM engine select 10000 times, 1000 record used time: 139.82107305527

    [where条件增加like,10000次,每次从1000条起,取1000条记录]
    Heap engine select 10000 times, 1000 record used time: 145.43780493736
    MyISAM engine select 10000 times, 1000 record used time: 163.56296992302

    [where条件增加索引,10000次,每次从1000条起,取1000条记录]

    -- 建立索引 (在SQLyob下执行)
    ALTER TABLE tbl_heap ADD INDEX idx_name (name);
    ALTER TABLE tbl_isam ADD INDEX idx_name (name);

    Heap engine alter table add index used time: 2.078
    MyISAM engine alter table add index used time: 13.516

    Heap engine select 10000 times, 1000 record used time: 153.48922395706
    MyISAM engine select 10000 times, 1000 record used time: 239.86818814278

    PS: 不合适的索引还不如不要。。。-_-#

    [SQLyog下进行count操作]
    Heap engine select count used time: 4.53
    MyISAM engine select count used time: 3.28

    [SQLyob下进行select操作]
    速度都很快,都在1秒一下,不论是1000条记录,还是200000条记录,个人猜测可能不准确

     


    【更新操作】

    [更新所有name=heiyeluren的记录为heiyeluren2,在SQLyog下执行]
    Heap engine update used time: 2.500
    MyISAM engine update used time: 16.000


    【删除操作】

    [删除所有name=heiyeluren2的记录,在SQLyog下执行]
    Heap engine delete used time: 51.172
    MyISAM engine delte used time: 5.578

     

    【总结】

    Heap在插入、查询、更新操作上明显要比MyISAM快,但是删除操作稍微比较慢,可能跟它在内存中的存储结构有关系,所以我们完全可以把Heap作为我们一个MyISAM表的一个备份,比如可以保存一些实时性要求比较高的数据,比如点击量、评论量、固定的用户信息等等,因为这些信息普遍就是插入和查询操作。

    当然了,Heap也没有比MyISAM快太多,这样说明我的MyISAM速度还是非常快的,所以一般情况下,MyISAM能够满足大部分的应用了,如果数据太多的情况,可以考虑把部分常用的数据保存到Heap表中,同时也可以结合Memcache等缓存工具来帮助缓存数据。

    另外,关于InnoDB和MyISAM的性能测试,可以参考我之前的测试数据:
    http://blog.csdn.net/heiyeshuwu/archive/2007/04/10/1559640.aspx

     

     

    【测试代码】

     

    <?php
    /**
     * function lib
     
    */
    function conn(){
        
    $host = "localhost";
        
    $user = "root";
        
    $pass = "";
        
    $db   = "test";

        
    $conn = mysql_connect($host, $user, $pass);
        
    if (!$conn || !is_resource($conn)){
            
    die("Connect to mysql failed: ". mysql_error());
        }
        
    mysql_select_db($db);
        
    return $conn;
    }

    function query($conn, $sql){
        
    $res = mysql_query($sql, $conn);
        
    if (!$res){
            
    echo mysql_error()." ";
            
    return false;
        }
        
    return true;
    }

    function get_data($conn, $sql){
        
    $res = mysql_query($sql, $conn);
        
    if (!$res){
            
    echo mysql_error()." ";
            
    return false;
        }
        
    $result = array();
        
    while($row = mysql_fetch_array($res)){
            
    $result[] = $row;
        }
        
    return $result;
    }

    function get_time()
    {
        
    list($usec, $sec= explode(" ", microtime());
        
    return ((float)$usec + (float)$sec);
    }

    /**
     * Insert test
     
    */
    $conn = conn();
    $count = 200000;

    //Heap engine
    $s1 = get_time();
    for($i=0$i<$count$i++){
        query(
    $conn, "insert into tbl_heap set name = 'heiyeluren', email='heiyeluren@abc.com', summary='This message is summary'");
    }
    $e1 = get_time();
    echo "Heap engine insert $count record used time: ". ($e1-$s1." ";


    //MyISAM engine
    $s2 = get_time();
    for($i=0$i<$count$i++){
        query(
    $conn, "insert into tbl_isam set name = 'heiyeluren', email='heiyeluren@abc.com', summary='This message is summary'");
    }
    $e2 = get_time();
    echo "MyISAM engine insert $count record used time: ". ($e2-$s2." ";


    /**
     * Select test
     
    */

    $count = 1000;
    $records = 10000;

    $s1 = get_time();
    for($i=0$i<$count$i++){
        
    $res = get_data($conn, "select * from tbl_heap limit $records");
        
    unset($res);
    }
    $e1 = get_time();
    echo "Heap engine select $count record used time: ". ($e1-$s1." ";


    $s2 = get_time();
    for($i=0$i<$count$i++){
        
    $res = get_data($conn, "select * from tbl_isam limit $records");
        
    unset($res);
    }
    $e2 = get_time();
    echo "MyISAM engine select $count record used time: ". ($e2-$s2." ";

    ?>

     

     

    发表于 @ 2007年08月13日 16:59:00|评论(loading...)|收藏

    新一篇: [原创] 推荐介绍几款小巧的Web Server程序 | 旧一篇: [感悟] 纪念我在CSDN写博三年整

    评论

    #jl 发表于2007-08-16 11:50:29  IP: 124.243.207.*
    没意义的。

    heap和isam设计目标不一样。
    #yejr 发表于2007-08-17 08:59:24  IP: 218.247.168.*
    浪费社会资源,哈哈
    #Kypros 发表于2007-08-31 17:39:35  IP: 66.232.123.*
    Nice!
    #Vangelis 发表于2007-08-31 18:10:42  IP: 66.232.114.*
    interesting
    #Titos 发表于2007-09-01 12:00:45  IP: 61.241.146.*
    Cool!
    #Angelo 发表于2007-09-02 02:59:42  IP: 66.232.125.*
    Sorry :(
    #Andreou 发表于2007-09-02 04:13:36  IP: 68.180.195.*
    Nice!
    #Photios 发表于2007-09-02 04:54:26  IP: 66.232.123.*
    Sorry :(
    #Stathis 发表于2007-09-02 07:53:36  IP: 66.232.123.*
    Nice!
    #Sterghios 发表于2007-09-02 09:48:53  IP: 200.31.42.*
    Nice!
    #Stamatis 发表于2007-09-02 15:37:05  IP: 66.232.125.*
    Interesting...
    #Valerios 发表于2007-09-02 18:33:45  IP: 66.232.123.*
    Nice
    #Dionysios 发表于2007-09-02 20:37:25  IP: 80.143.235.*
    Nice!
    #Harrys 发表于2007-09-03 02:00:57  IP: 194.54.64.*
    Cool.
    #Nico 发表于2007-09-03 19:39:45  IP: 91.121.67.*
    Interesting...
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © heiyeluren