CREATE TABLE `emp` (
  `name` varchar(30) DEFAULT NULL,
  `grade` varchar(30) DEFAULT NULL,
  `email` varchar(30) DEFAULT NULL,
  `salary` varchar(30) DEFAULT NULL,
  KEY `name` (`name`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
这样的表插入一条数据时间约为0.040ms。
CREATE TABLE `emp` (
  `name` varchar(30) DEFAULT NULL,
  `grade` varchar(30) DEFAULT NULL,
  `email` varchar(30) DEFAULT NULL,
  `salary` varchar(30) DEFAULT NULL,
  KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
这样的表插入一条数据时间mysql基本忽略不计了,返回0.000ms。问题在哪里?所以人都知道myisam对查询效率高,innodb对编辑数据效率高,高手解释下。谢谢。背景:这个表数据量已经到230万了。

解决方案 »

  1.   

    你把innodb_flush_log_at_trx_commit=0这个参数设置上看看
      

  2.   

                           MyISAM                    InnoDB
        事务             不支持                       支持
        数据行锁定    不支持,只有表锁定               支持
        外键约束       不支持                       支持
        表空间大小     相对小                      相对大,最大是2倍
        全文索引        支持                         不支持
        GIS数据        支持                         不支持
        COUNT问题       无                            执行COUNT(*)查询时,速度慢
      

  3.   

    myisam 本身就比INNODB快。但不支持事务。
      

  4.   

    innodb_flush_log_at_trx_commit=0
    用 5.5 以上版本
      

  5.   

    mysql经典教材9合一。。http://download.csdn.net/detail/kofandlizi/6475545
      

  6.   

    Myisam本身就比innodb要快,但innodb不支持事务处理。