MySQL5.6优化
2018-02-25 18:31
85 查看
基本优化
尽量不要使用select * ,因为会增加编译时间(不过很多数据库都对select * 进行了优化),有时也会查出并不需要的数据,增加网络和服务器负担
尽可能把多条sql语句合并成一条,因为每条sql语句的发送、编译、执行、返回结果都需要时间
尽量不要在where子句中使用1=1,这会迫使数据库服务器进行全表扫描(但很多数据库也对这种情况进行了优化)
尽可能使用 between and ,因为数据库已经对它进行了优化
数据库一般采用自后向前的顺序解析where子句,所以表的连接条件最好写在最前面,那些可以过滤掉大量数据的条件要写在最后
通过编程语言查询数据时最好使用带占位符的sql语句,数据库会预先编译好这些sql语句并保存起来供重复使用,效率高而且可避免sql注入漏洞
可用连接查询替代子查询;
什么是优化?
合理安排资源、调整系统参数使MySQL运行更快、更节省资源。
优化是多方面的,包括查询、更新、服务器等。
原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。
数据库性能参数
使用SHOW STATUS语句查看MySQL数据库的性能参数
SHOW STATUS LIKE 'value'
常用的参数:
Slow_queries 慢查询次数;
Com_(CRUD) 操作的次数;
Uptime 上线时间;
尽量不要使用select * ,因为会增加编译时间(不过很多数据库都对select * 进行了优化),有时也会查出并不需要的数据,增加网络和服务器负担
尽可能把多条sql语句合并成一条,因为每条sql语句的发送、编译、执行、返回结果都需要时间
尽量不要在where子句中使用1=1,这会迫使数据库服务器进行全表扫描(但很多数据库也对这种情况进行了优化)
尽可能使用 between and ,因为数据库已经对它进行了优化
数据库一般采用自后向前的顺序解析where子句,所以表的连接条件最好写在最前面,那些可以过滤掉大量数据的条件要写在最后
通过编程语言查询数据时最好使用带占位符的sql语句,数据库会预先编译好这些sql语句并保存起来供重复使用,效率高而且可避免sql注入漏洞
可用连接查询替代子查询;
什么是优化?
合理安排资源、调整系统参数使MySQL运行更快、更节省资源。
优化是多方面的,包括查询、更新、服务器等。
原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。
数据库性能参数
使用SHOW STATUS语句查看MySQL数据库的性能参数
SHOW STATUS LIKE 'value'
常用的参数:
Slow_queries 慢查询次数;
Com_(CRUD) 操作的次数;
Uptime 上线时间;
相关文章推荐
- MySQL 5.6 my.cnf配置优化
- MySQL5.6优化
- 16、单机运行环境搭建之 --CentOS-6.4下使用TCMalloc优化mysql5.6
- mysql5.6占用内存大,通过state优化
- [MySQL 5.6优化] -- limit x,x 优化
- MySQL5.6 如何优化慢查询的SQL语句 -- SQL优化
- MySQL 5.6 my.cnf配置优化
- MySQL5.6基本优化配置
- MySQL5.6优化
- MySQL5.6基本优化配置
- mysql5.6中mrr和icp优化简述
- MySql5.6性能优化
- MySql5.6 my.cnf配置优化
- MySql5.6性能优化
- mysql 5.6 常规优化配置
- 优化系列 | MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试
- MySQL5.6优化
- MySQL 5.6 SQL 优化及 5.6手册
- [转]MySQL 5.6 my.cnf配置优化
- mysql查缺补漏(二)mysql5.6性能优化(explain执行计划术语,索引,优化查询)