相关疑难解决方法(0)

MyISAM与InnoDB

我正在研究涉及大量数据库写入的项目,我会说(70%的插入和30%的读取).该比率还包括我认为是一次读取和一次写入的更新.读取可能很脏(例如,在读取时我不需要100%准确的信息).
有问题的任务将是每小时进行超过100万次数据库事务.

我在网上看到了一些关于MyISAM和InnoDB之间差异的东西,对于我将用于此任务的特定数据库/表格来说,MyISAM似乎是我的明显选择.从我似乎正在阅读的内容来看,如果需要事务处理,InnoDB很好,因为支持行级锁定.

有没有人有这种负载(或更高)的经验?MyISAM是走的路吗?

mysql database performance myisam innodb

853
推荐指数
16
解决办法
29万
查看次数

插入InnoDB/MyISAM记录所需时间的差异

我将记录插入MySQL表,并尝试了解MyISAM表和InnoDB表之间的时间差异.

这是创建表的代码:

CREATE TABLE SpectrumData (
    ID INT(11) NULL DEFAULT NULL,
    `Set` INT(11) NULL DEFAULT NULL,
    Wavelength DOUBLE NULL DEFAULT NULL,
    Intensity DOUBLE NULL DEFAULT NULL,
    Error INT(11) NULL DEFAULT NULL,
    `Status` INT(11) NULL DEFAULT NULL
)
COLLATE='utf8_general_ci'
ENGINE=xxx
ROW_FORMAT=DEFAULT
Run Code Online (Sandbox Code Playgroud)

我插入10000条记录,以秒为单位测量所需时间并重复100次.我把结果放在两个Excel图表中:

MyISAM结果 InnoDB结果

所以MyISAM增加和InnoDB或多或少不变.

谁能解释这些差异?与表中的记录数量有关?为什么这些异常值与InnoDB?

配置二手电脑:

  • Windows XP SP3
  • 英特尔酷睿2双核处理器
  • 3.00 Ghz
  • 2 GB RAM
  • MySQL 5.5 CE

更新:我应该提到我在Access前端应用程序中插入带有VBA脚本的记录.我通过ODBC系统DSN连接到MySQL数据库.

VBA代码:

Dim RsSpectrumData As DAO.Recordset
Dim Db As Database
Dim i As Integer
Dim j As Integer
Dim TimerStart

Set Db = CurrentDb …
Run Code Online (Sandbox Code Playgroud)

mysql database performance myisam innodb

13
推荐指数
1
解决办法
1209
查看次数

标签 统计

database ×2

innodb ×2

myisam ×2

mysql ×2

performance ×2