mysql测试记录
一直觉得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测试记录的更多相关文章
- 【转】MySQL 当记录不存在时insert,当记录存在时update
MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...
- MySQL 当记录不存在时insert,当记录存在时update(ON DUPLICATE KEY UPDATE, REPLACE语句)
MySQL 当记录不存在时insert,当记录存在时更新 网上基本有三种解决方法. 第一种:示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语 ...
- MySQL 当记录不存在时insert,当记录存在时update
MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...
- MySQL测试代码
MySQL测试代码 # 注释内容 -- 注释内容 -- 创建maizi数据库 CREATE DATABASE IF NOT EXISTS `maizi` DEFAULT CHARACTER SET ' ...
- Atitit 分区后的查询 mysql分区记录的流程与原理
Atitit 分区后的查询 mysql分区记录的流程与原理 1.1.1. ibd是MySQL数据文件.索引文件1 1.2. 已经又数据了,如何分区? 给已有的表加上分区 ]1 1.3. 分成4个区, ...
- PHP获取MySql新增记录ID值的方法
今天发现用mysql_insert_id()获取到的新增记录的id不正确, 虽然发现源代码的事务写的有问题,但是最根本的原因是,我插入数据的id类型是bigint型 获取MySql新增记录ID值的方法 ...
- linux .net mono方案测试记录与报告(一)
第一阶段 linux .net 方案测试 硬件为4核8线程的笔记本i7-4710mq 分配了4个线程 情况下 1.方案一 nginx+fastcgi-mono-server4方式 性能为每秒处理140 ...
- Yii 增删改查 测试记录
亲们, 我是yii小白 不要笑话我奥.今天白天写一个管理模块涉及到 yii ar 下的 curd 操作,做 update 操作时纠结了好久,今天晚上花点时间学习, 下面写下我的测试记录 代码如下: ...
- MySQL如何记录binlog
--MySQL如何记录binlog -------------------------------2014/07/08 binlog文件的内容 log event MySQL的 ...
随机推荐
- 英特尔vPro博锐技术激活
英特尔vPro博锐技术激活 参考: Intel官方Management Engine BIOS Extension (Intel®MEBX)手册:http://www.intel.com/conten ...
- 11. Java方法的定义与使用
1.1方法的定义 方法是一段可以被重复调用的代码块. 方法的声明: public static 方法返回值 方法名称 ([参数类型 变量...]) 方法体代码: [return 返回值]: 当方法以v ...
- centos禁止root用户ssh远程登录
首先,我们要以root身份登录远程主机 vim指令编辑ssh配置文件,如 vim /etc/ssh/sshd_config 查找PermitRootLogin,把yes改为no 修改完配置需要重启ss ...
- vue的自定义指令
点击元素之外触发函数 <template> <div v-clickoutside="clickItemOut"></div> </tem ...
- 二〇一八-美团工程师面试解析(Java)
一轮面试: 小数是怎么存的 算法题:N二进制有多少个1 Linux命令(不熟悉 JVM垃圾回收算法 C或者伪代码实现复制算法 volatile 树的先序中序后序以及应用场景 Mysql存储记录的数据结 ...
- 【问题】This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
转载请注明出处:https://www.cnblogs.com/kelamoyujuzhen/p/9087725.html 这类问题归根到底就是软件源问题,Linux下安装软件不像windows.L ...
- openssl/opensslv.h错误的解决方案
sudo apt install libssl-dev
- java实战(一)-------jdk环境在windows安装及配置
1.jdk官方下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html 点击下载windows的版本:jdk-13.0 ...
- sql 发生死锁
SELECT request_session_id spid , OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tr ...
- Web服务器主动推送技术
HTTP协议遵循经典的客户端-服务器模型,客户端发送一个请求,然后等待服务器端的响应,服务器端只能在接收到客户端的请求之后进行响应,不能主动的发送数据到客户端. 客户端想要在不刷新页面的情况下实时获取 ...