一直觉得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. AngularJS入门教程之数据绑定原理详解

    这篇文章主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据帮定是如何工作的人.如果你已经对Angular比较了解了,那强烈建议你直接去阅读源代码. Angular用户都想知道数据绑定 ...

  2. 【外网不好用】可以尝试添加dns即可解决上不去外网的问题。

    可以将IPv4这里的DNS修改成以下内容再尝试上网试试.

  3. Framework7 - 入门教程(安装、配置、创建一个H5应用)

    1,Framework7介绍 (1)Framework7 是一个开源免费的框架.可以用来开发混合移动应用(原生和 HTML 混合)或者开发 iOS & Android 风格的 WEB APP. ...

  4. pkg-config命令

    返回已安装库文件的元信息 pkg-config读取.pc文件获取信息 基本思想 编译的时候-I指定头文件路径:-L指定库文件路径.这样做总感觉很麻烦 事先把库的位置信息等保存起来,需要的时候再通过特定 ...

  5. 开发六年mybatisplus使用小结

    最近在项目里用到了一个第三方库,叫mybatisplus,是一个mybatis的增强库,简单来说就是增强了mybatis的功能,让mybatis更好用,mybatisplus给的官方定义是Mybati ...

  6. 【异常】java.sql.SQLException: Could not retrieve transaction read-only status from server Query

    1 详细异常 java.sql.SQLException: Could not retrieve transaction read-only status , ], [ChargingOrderRea ...

  7. Ubuntu18.0 解决python虚拟环境中不同用户下或者python多版本环境中指定虚拟环境的使用问题

    一. 不同用户下配置virtualenvwrapper的问题 问题描述: 安装virtualnev和virtualnevwrapper之后,在.bashrc进行virtualenvwrapper的相关 ...

  8. 【Spring】源码浅析 - ResponseEntity.ok 转载

    https://www.jianshu.com/p/1238bfb29ee1 ResponseEntity.ok具体源码

  9. 版本问题---cuda和tensorflow的版本对应关系

    cuda和tensorflow的版本有对应关系 https://tensorflow.google.cn/install/source#linux

  10. 你不知道的JavaScript LHS 和 RHS 查找

    今天在学习JavaScript的相关知识时接触到了 LHS(Left Hand Side)和 RHS(Right Hand Side)两种对变量查找的方法,之所以JavaScript要查找变量,那就先 ...