MySQL字符数据类型char与varchar的区别

数据类型差不多是接触mysql一开始就了解的内容,最近遇到几个现象如varchar自动转mediumtext,blob存储性能的问题,不得不回头明确一下关于MySQL常用数据类型的选择。 ...

2016-04-28 · 7 min

MySQL字符数据类型char与varchar的区别

数据类型差不多是接触mysql一开始就了解的内容,最近遇到几个现象如varchar自动转mediumtext,blob存储性能的问题,不得不回头明确一下关于MySQL常用数据类型的选择。 ...

2016-04-28 · 7 min

MySQL sql_mode 说明(及处理一起 sql_mode 引发的问题)

1. MySQL莫名变成了 Strict SQL Mode 最近测试组那边反应数据库部分写入失败,app层提示是插入成功,但表里面里面没有产生数据,而两个写入操作的另外一个表有数据。因为 insert 失败在数据库层面是看不出来的,于是找php的同事看下错误信息: ...

2016-04-22 · 8 min

MySQL sql_mode 说明(及处理一起 sql_mode 引发的问题)

1. MySQL莫名变成了 Strict SQL Mode 最近测试组那边反应数据库部分写入失败,app层提示是插入成功,但表里面里面没有产生数据,而两个写入操作的另外一个表有数据。因为 insert 失败在数据库层面是看不出来的,于是找php的同事看下错误信息: ...

2016-04-22 · 8 min

MySQL避免索引列使用 OR 条件

这个亏已经吃过很多次了,在开发以前的sql代码里面,许多以 or 作为where条件的查询,甚至更新。这里举例来说明使用 or 的弊端,以及改进办法。 1 2 select f_crm_id from d_dbname1.t_tbname1 where f_xxx_id = 926067 and (f_mobile ='1234567891' or f_phone ='1234567891' ) limit 1 从查询语句很容易看出,f_mobile和f_phone两个字段都有可能存电话号码,一般思路都是用 or 去一条sql解决,但表数据量一大简直是灾难: ...

2016-04-05 · 3 min

MySQL避免索引列使用 OR 条件

这个亏已经吃过很多次了,在开发以前的sql代码里面,许多以 or 作为where条件的查询,甚至更新。这里举例来说明使用 or 的弊端,以及改进办法。 1 2 select f_crm_id from d_dbname1.t_tbname1 where f_xxx_id = 926067 and (f_mobile ='1234567891' or f_phone ='1234567891' ) limit 1 从查询语句很容易看出,f_mobile和f_phone两个字段都有可能存电话号码,一般思路都是用 or 去一条sql解决,但表数据量一大简直是灾难: ...

2016-04-05 · 3 min

使用sysbench对mysql压力测试

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看:https://github.com/akopytov/sysbench 。 它主要包括以下几种方式的测试: ...

2016-03-28 · 9 min

使用sysbench对mysql压力测试

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看:https://github.com/akopytov/sysbench 。 它主要包括以下几种方式的测试: ...

2016-03-28 · 9 min

生产环境使用 pt-table-checksum 检查MySQL数据一致性

公司数据中心从托管机房迁移到阿里云,需要对mysql迁移(Replication)后的数据一致性进行校验,但又不能对生产环境使用造成影响,pt-table-checksum 成为了绝佳也是唯一的检查工具。 ...

2015-12-29 · 10 min

生产环境使用 pt-table-checksum 检查MySQL数据一致性

公司数据中心从托管机房迁移到阿里云,需要对mysql迁移(Replication)后的数据一致性进行校验,但又不能对生产环境使用造成影响,pt-table-checksum 成为了绝佳也是唯一的检查工具。 ...

2015-12-29 · 10 min