在MariaDB(MySQL)中缓慢简单的单个插入 - 50毫秒

时间:2013-04-20 19:20:59

标签: mysql insert mariadb

MariaDB可以被认为是MySQL的分支

我有一些用C语言编写的软件,它使用SQLite进行某些操作。我已经实现了MySQL后端作为加速数据库性能的实验。但令人惊讶的是它并不太快。基本上,我有一个简单的表:

CREATE TABLE `events` (
  `id` BIGINT PRIMARY KEY AUTO_INCREMENT,
  `type` VARCHAR(24) NOT NULL,
  `time` VARCHAR(32) NOT NULL
)

没有明确的外键,插入时没有触发器等等。然后,简单插入

INSERT INTO `events` (`type`, `time`) VALUES ('abc', '2013-04-19T10:00:00')

需要50毫秒才能完成。这对我来说非常慢,这意味着只有20次插入 - 这可以吗?遗憾的是,这些插入内容彼此之间没有关联,并且使用批量插入或事务对它们进行分组并不容易。

我错过了什么,那些插页应该快得多?或者这是预期的表现(不是很慢)?

对于此测试,我在同一台机器上运行软件和MariaDB 10.0 - Core i7和Debian x64。数据库设置了所有默认值。数据库类型是XtraDB(InnoDB)。

我不是MySQL专家

我找到了一个相关的问题:mysql insert was too slow

2 个答案:

答案 0 :(得分:0)

最后,我必须实现一些应用级事务分组逻辑以达到所需的性能。据我所知,我的硬件的性能预计。可能在服务器硬件上会更好(没时间测试)。

同样,对于单个非事务分组插入,此性能似乎是正常的。批量插入,交易等显示完全不同的速度。

答案 1 :(得分:-1)

而不是值中的反引号使用单引号

INSERT INTO `events` (`type`, `time`) VALUES ('abc', '2013-04-19T10:00:00')