作者:源码时代 | 来源:互联网 | 2020-09-03 03:29
Mysql优化综合性的问题:
A、表的是设计合理化(符合 3范式)
B、添加适当的索引(index)[四种:普通索引,主键索引,唯一索引,unique,全文索引]
C、分表技术(水平分割,垂直分割)
D、读写[写:update/delete/add]分离
E、存储过程[模块化编程,可以提高速度]
F、对mysql配置优化[配置最大并发数,my.ini调整缓存大小]
G、Mysql服务器引荐升级
H、定时的去清楚不需要的数据,定时进行碎片整理
推荐Mysql相关视频教程:#course/list/51/type/2.html
1、数据库表的设计
第一范式:1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF)
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,它要求字段没有冗余。没有冗余的数据库设计可以做到。
2、sql优化的一般步骤
操作步骤:
1、通过show status命令了解各种SQL的执行频率。
2、 定位执行效率较低的SQL语句-(重点select)
3、 通过explain分析低效率的SQL语句的执行情况
4、确定问题并采取相应的优化措施
MySQL通过使用show [session|global] status 命令可以提供服务器状态信息。
如图4所示,恢复到某个语句的时间点
4,1按照时间点回复
Mysqlbinlog -stop-datetime =“2013-01-17 12:00:23”d:/binlog/mylog.000001 | mysq -uroot -p
(恢复到停止时间之前的所有数据)
Mysqlbinlog-start-datetime =“2013-01-17 12:00:23”d:/binlog/mylog.000001 | mysq -uroot -p
(恢复开始时间到之后的所有数据)
4,2按照位置恢复
Mysqlbinlog-stop-position =“234”d:/binlog/mylog.000001 | mysq -uroot -p
(恢复到停止时间之前的所有数据)
Mysqlbinlog-start-position =“234”d:/binlog/mylog.000001 | mysq -uroot -p
(恢复开始时间到之后的所有数据)
更多相关问题,请访问PHP中文网:#
以上就是关于mysql性能优化问题的整理的详细内容,更多请关注 第一PHP社区 其它相关文章!