优化
ER图,数据建模与数据字典
1、存储引擎选择
2、列表类型选择
3、范式
4、慢日志查询
5、精准时间记录查询
6、计划任务explain
7、索引
8、锁与事务
9、查询缓存
10、存储过程
11、触发器
12、分区(分表,分库)
14、sphinx
15、读写分离
16、搜索优化
17、网站静态优化
https://www.cnblogs.com/clsn/p/8214048.html
在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。更多关于MySQL查询相关参照:http://www.cnblogs.com/clsn/p/8038964.html#_label6 系列文章。
1.3 优化思路
1.3.1 优化什么
在数据库优化上有两个主要方面:即安全与性能。
安全 ---> 数据可持续性
性能 ---> 数据的高性能访问
1.3.2 优化的范围有哪些
存储、主机和操作系统方面:
主机架构稳定性
I/O规划及配置
Swap交换分区
OS内核参数和网络问题
应用程序方面:
应用程序稳定性
SQL语句性能
串行访问资源
性能欠佳会话管理
这个应用适不适合用MySQL
数据库优化方面:
内存
数据库结构(物理&逻辑)
实例配置
说明:不管是在,设计系统,定位问题还是优化,都可以按照这个顺序执行。
1.3.3 优化维度
数据库优化维度有四个:
硬件、系统配置、数据库表结构、SQL及索引
优化选择
优化成本:硬件>系统配置>数据库表结构>SQL及索引
优化效果:硬件<系统配置<数据库表结构<SQL及索引
1.5.1 优化思路
定位问题点吮吸
硬件 --> 系统 --> 应用 --> 数据库 --> 架构(高可用、读写分离、分库分表)
数据库优化 索引,查询,分表,事务,锁
处理方向
明确优化目标、性能和安全的折中、防患未然
1.6 数据库优化
SQL优化方向:
执行计划、索引、SQL改写
架构优化方向:
高可用架构、高性能架构、分库分表