一直觉得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. meta标签常见浏览器设置

    一.如何让双核浏览器默认选择 WebKit 内核渲染自己开发的网页 我们可以使用标签来指定适合自己网站的渲染内核名称,当双核浏览器访问本网页时,就会根据我们的指示,选择我们指定的渲染内核来处理网页.若 ...

  2. spingboot启动报驱动Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of th

    原因: springboot应用了最新的驱动com.mysql.cj.jdbc.Driver,这个驱动需要用mysql-connector-java包的6.x版本才可以, 而mysql-connect ...

  3. vue在axios中 this 指向问题

    1.解决办法 在vue中使用axios做网络请求的时候,会遇到this不指向vue,而为undefined,可以使用箭头函数"=>"来解决.如下: methods: { lo ...

  4. undefined reference to `udev_device_get_action'

    /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libusb-1.0.a(libusb_1_0_la-linux_udev.o): In ...

  5. c#界面卡死处理方法

    方法一: 设置属性: Control.CheckForIllegalCrossThreadCalls = false; 开启一个新线程 Thread th = new Thread(() => ...

  6. ubuntu下后台服务的管理

    注册后台服务后都有脚本存在/lib/systemd/system路径下 如mysql为mysql.service 被service管理的进程被杀掉还是会重启的 应使用service XXX stop停 ...

  7. gorm 更新数据时,0值会被忽略

    原文: https://www.tizi365.com/archives/22.html ------------------------------------------------------- ...

  8. 0001SpringBoot整合Mybatis

    SpringBoot整合Mybatis主要分为以下几个步骤: 1.添加Mybatis的起步依赖(pom.xml) 2.添加数据库驱动坐标(pom.xml) 3.添加数据库连接信息(applicatio ...

  9. Nginx location规则匹配

    ^~   标识符匹配后面跟-一个字符串.匹配字符串后将停止对后续的正则表达式进行匹配,如location ^~ /images/ , 在匹配了/images/这个字符串后就停止对后续的正则匹配 = 精 ...

  10. MyBankgon功能

    .帐户类 User 复制代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...