一直觉得mysql的Memony内存引擎挺好,其他数据库都没有,正好有空,所以试试。

版本:mysql-installer-community-8.0.17.0

os:windows10 SSD硬盘,本机访问

简单表,一个ID字段为主键,一个字符串字段

1. Memony引擎

单条插入10000条耗时18s,批量事务提交插入10000条耗时18s。

2. Myisam引擎

单条插入10000条耗时19s,批量事务提交插入10000条耗时19s。

3. InnoDB引擎

单条插入10000条耗时40s,批量事务提交插入10000条耗时2s。

 private void button1_Click(object sender, EventArgs e)
{
//删除
DateTime d = DateTime.Now;
string sql = "delete from " + this.textBox1.Text;
MySqlConnection cn = new MySqlConnection(this.connstring);
cn.Open();
MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand(sql, cn);
cmd.ExecuteNonQuery();
cn.Close(); this.textBox2.Text = (DateTime.Now - d).TotalMilliseconds.ToString();
} private void button2_Click(object sender, EventArgs e)
{
//单条增加
DateTime d = DateTime.Now;
MySqlConnection cn = new MySqlConnection(this.connstring);
cn.Open();
string sql = "insert into " + this.textBox1.Text + "(a,v) values({0}, '{1}')";
for (int m = 0; m < 10000; m++)
{
string s = string.Format(sql, m, System.Guid.NewGuid().ToString() + "在");
MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand(s, cn);
cmd.ExecuteNonQuery();
}
cn.Close(); this.textBox2.Text = (DateTime.Now - d).TotalMilliseconds.ToString();
} private void button3_Click(object sender, EventArgs e)
{
//单条增加
DateTime d = DateTime.Now;
MySqlConnection cn = new MySqlConnection(this.connstring);
cn.Open();
MySqlTransaction tran = cn.BeginTransaction();
string sql = "insert into " + this.textBox1.Text + "(a,v) values({0}, '{1}')";
for (int m = 0; m < 10000; m++)
{
string s = string.Format(sql, m, System.Guid.NewGuid().ToString() + "在");
MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand(s, cn);
cmd.Transaction = tran;
cmd.ExecuteNonQuery();
}
tran.Commit();
cn.Close();
this.textBox2.Text = (DateTime.Now - d).TotalMilliseconds.ToString();
} private void button4_Click(object sender, EventArgs e)
{
//查询
MySqlDataAdapter da = new MySqlDataAdapter("select * from " + this.textBox1.Text, this.connstring);
DataSet ds = new DataSet();
da.Fill(ds, "t");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}

下面N多年前的测试,可做对比:

https://www.cnblogs.com/81/archive/2009/07/31/1535694.html

https://www.cnblogs.com/81/archive/2008/12/06/1348896.html

感觉mysql不是太高

mysql测试记录的更多相关文章

  1. 【转】MySQL 当记录不存在时insert,当记录存在时update

    MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...

  2. MySQL 当记录不存在时insert,当记录存在时update(ON DUPLICATE KEY UPDATE, REPLACE语句)

    MySQL 当记录不存在时insert,当记录存在时更新 网上基本有三种解决方法. 第一种:示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语 ...

  3. MySQL 当记录不存在时insert,当记录存在时update

    MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...

  4. MySQL测试代码

    MySQL测试代码 # 注释内容 -- 注释内容 -- 创建maizi数据库 CREATE DATABASE IF NOT EXISTS `maizi` DEFAULT CHARACTER SET ' ...

  5. Atitit 分区后的查询  mysql分区记录的流程与原理

    Atitit 分区后的查询  mysql分区记录的流程与原理 1.1.1. ibd是MySQL数据文件.索引文件1 1.2. 已经又数据了,如何分区? 给已有的表加上分区 ]1 1.3. 分成4个区, ...

  6. PHP获取MySql新增记录ID值的方法

    今天发现用mysql_insert_id()获取到的新增记录的id不正确, 虽然发现源代码的事务写的有问题,但是最根本的原因是,我插入数据的id类型是bigint型 获取MySql新增记录ID值的方法 ...

  7. linux .net mono方案测试记录与报告(一)

    第一阶段 linux .net 方案测试 硬件为4核8线程的笔记本i7-4710mq 分配了4个线程 情况下 1.方案一 nginx+fastcgi-mono-server4方式 性能为每秒处理140 ...

  8. Yii 增删改查 测试记录

    亲们, 我是yii小白 不要笑话我奥.今天白天写一个管理模块涉及到 yii ar 下的  curd 操作,做 update 操作时纠结了好久,今天晚上花点时间学习, 下面写下我的测试记录 代码如下: ...

  9. MySQL如何记录binlog

    --MySQL如何记录binlog   -------------------------------2014/07/08     binlog文件的内容 log event       MySQL的 ...

随机推荐

  1. centos 随机启动脚本编写

    先说下问题背景 目前手上开发的产品是springboot微服务的,我们用jenkins来做的部署,部署脚本如下: 1.build脚本 负责从git服务器拉脚本 2.微服务脚本: #!/bin/shap ...

  2. Go part 1 初探

    Go 语言简介 Go 语言是 Google 在2007年开发的一种开源编程语言,于2009年11月10日向全球公布 出自 Ken Thompson 和 Rob Pike.Robert Grieseme ...

  3. datagrid行内编辑

    编辑属性 :editor: { type: 'text'} $('#listShow').datagrid({ height : 478, pagesize : 20, pageList : [20, ...

  4. 安装mysql采坑记录

    安装之前彻底卸载之前的mysql,再次安装,初始化数据库那一步失败. 再次彻底卸载mysql,把原先的安装路径的文件夹删除,文件夹路径:C:\ProgramData,再次安装,成功. 总结:重装mys ...

  5. Android开发中常见问题分析及解决

    最近公司有新的业务需求,需要开发一款APP,因为我开发过Android APP(我想告诉他们,那是4年前的事了,嘤嘤嘤),就把开发任务交给我了,当然也不是我一个人啦,让我组开发小组,说白了,就是让我来 ...

  6. C++ 容器一图以蔽之

    读完C++ primary 容器相关章节,有必要总结一下容器的要点,一图说明. 其中的问题,以下是我的一些想法,欢迎交流. 问题1. STL源码剖析 · vector 问题2. STL源码剖析 · R ...

  7. js 加解密方法

    一:最简单的加密解密 (ansi转usc2) 大家对于JAVASCRIPT函数escape()和unescape()想必是比较了解啦(很多网页加密在用它们),分别是编码和解码字符串,比如例子代码用es ...

  8. python 爬虫抓取 MOOC 中国课程的讨论区内容

    一:selenium 库 selenium 每次模拟浏览器打开页面,xpath 匹配需要抓取的内容.可以,但是特别慢,相当慢.作为一个对技术有追求的爬虫菜鸡,狂补了一些爬虫知识.甚至看了 scrapy ...

  9. Orangepi 修改 Debian国内源

    1.导出sources.list 1   cat /etc/apt/sources.list >  sources.list  2.修改sources.list内容为如下: 1234   deb ...

  10. java实战(一)-------jdk环境在windows安装及配置

    1.jdk官方下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html 点击下载windows的版本:jdk-13.0 ...