mysql数据库性能调优总结积累
mysql数据库的调优大概可以分为四大块
0 架构调优
---根据业务 读写分库分表
---主从 读写分离
1 配置的调优
---开启缓存查询 设置缓存大小
---最大连接数设置
---数据库引擎配置 myisam(读操作,查询快) Innodb(写操作,主库,支持事务,安全) 引擎配置
---日志配置
2 表结构的调优
----建立合适的索引(主键索引,唯一索引,普通索引,全文索引 myisam中用来检索文本)EXPLAIN SELECT命令那里往往可以获得一些帮助知道哪些需要建立索引(优点:查询快 缺点:占空间,更新sql慢)
---尽量每个表都加上ID列,除关联表
---分表,垂直分割,列太长,分割为固定长度的表 和 不固定长度的表 固定长度查询更快,前提是被分库后的另一些表不会被经常join到。否则效率更低。
3 sql的调优
---避免全模糊查询%like%,会使索引失效。
---避免sql中直接使用sql函数,sql函数会使缓存查询失效,用变量代替之。
---大批量的操作使用limit分批进行更高效(避免锁全表),对于明知取出数据只要1条的查询加上limit 1 更高效。
---is not null <> !=,均会使索引失效。
---对于一些固定取值的列,尽量使用enum代替varchar,更高效。
---避免无意义的全表扫描 count(*)
mysql数据库性能调优总结积累的更多相关文章
- MySQL 数据库性能调优
MySQL 数据库性能调优 MySQL性能 最大数据量 最大并发数 优化的范围有哪些 存储.主机和操作系统方面: 应用程序方面: 数据库优化方面: 优化维度 数据库优化维度有四个: 优化选择: 数据库 ...
- MYSQL数据库性能调优之八:mysql日志
MySQL日志 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志.中继日志: 使用 SHOW GLOBAL VARIABLES LIKE '%log%'; 查询所有日志配置详情: 一. ...
- MYSQL数据库性能调优之一:调优技术基础
1.mysql数据库优化技术有哪些? 2.数据库三层结构? 3.数据库3NF
- MYSQL数据库性能调优之四:解决慢查询--索引
为什么索引能够提高查询速度?没有索引 检索数据的方式是从头到尾一条一条挨着匹配,这是慢的根本原因:索引类型BTREE:二叉树类型,原理图如下:对表创建一个二叉树,记录中间数据的物理磁盘地址,二叉树检索 ...
- MYSQL数据库性能调优之七:其他(读写分离、分表等)
一.分表 水平划分 垂直划分 二.读写分离 三.选择合理的数据类型 特别是主键 四.文件.图片等大文件使用文件系统存储 五.数据库参数配置 注意:max_connections最大连接数一般设置在10 ...
- MYSQL数据库性能调优之五:解决慢查询--存储引擎与数据类型
3.数据类型的影响 4.存储引擎的影响 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎:mysql> show var ...
- MYSQL数据库性能调优之三:explain分析慢查询
explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句.使用方法,在select语句前加上explain就可以了. 一.explain ...
- MYSQL数据库性能调优之二:定位慢查询
windows下开启慢查询: 第一步:先查看版本 第二步查看查询日志和慢查询配置 第三步:配置开启慢查询 在my.ini配置文件的[mysqld]选项下增加: slow_query_log=TRUE ...
- MYSQL数据库性能调优之六:备份
增量备份
随机推荐
- POJ 3061 Subsequence(尺取法)
题目链接: 传送门 Subsequence Time Limit: 1000MS Memory Limit: 65536K 题目描述 给定长度为n的数列整数以及整数S.求出总和不小于S的连续子 ...
- 今天执行grep命令差点把服务器搞崩
grep "rst" -r ./ >> a.log 今天执行这个命令差点把服务器搞崩了. 本意是查找所有源代码文件中含有rst字符串的行,打印到文件a.log中,然后进 ...
- Mybatis的mapper文件中$和#的区别
一般来说,我们使用mybatis generator来生成mapper.xml文件时,会生成一些增删改查的文件,这些文件中需要传入一些参数,传参数的时候,我们会注意到,参数的大括号外面,有两种符号,一 ...
- uC/OS-II邮箱(mbox)块
/*************************************************************************************************** ...
- (总结)Nginx配置文件nginx.conf中文详解
#定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...
- DataView
表示用于排序.筛选.搜索.编辑和导航的 DataTable 的可绑定数据的自定义视图. DataView的功能类似于数据库的视图,他是数据源DataTable的封装对象,可以对数据源进行排序.搜索.过 ...
- Android项目结构 以及体系结构
学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src 主要是 源 ...
- Ztree的简单使用和后台交互的写法(一)
一.引入ztree的头文件 <!-- 引入ztree/--> <script type="text/javascript" src="${pageCon ...
- Java排序算法——选择排序
import java.util.Arrays; //================================================= // File Name : Select_S ...
- SortedSet接口
TreeSet中实现了SortedSet接口,此接口主要用于排序操作,即实现此接口的子类都属于排序的子类. import java.util.Set; import java.util.SortedS ...