欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库的优化

程序员文章站 2022-06-01 23:10:22
...
	我们是发送sql,从数据库中获取数据,如果是慢sql,就会导致性能降低。
	所有数据放在同一个服务器上面,可能会导致一个相互的影响。
	
		
集群个分布式,解决IO的瓶颈

分表分库:
动态的添加服务器,实现高扩展性和可用性。
尽力避免单点故障
	ss
	如何定位慢sql?
			
	分析为什么慢sql慢?
	优化慢sql
		①单机优化
				数据库的表设计
				读写分离的28原则
		②多机优化

定位慢SQL

如何定位慢SQL:
			数据库的操作都是发送sql语句,数据库都会记录语句、耗时、状态等等
			数据库获取执行时间长的sql,就定位其为慢SQL,我们需要分析为什么SQL语句慢。
			时间的长短的标准:
					
查看mysql的启动配置文件: 安装路径下的  my.ini
		安安
正式上线之后,不能开启慢sql的查询,因为mysql或对慢sql记录写入到磁盘内,会影响性能。

分析慢sql

type:  all类似于全表查询,性能差

解决慢sql:

	① 使用反三范式。目的是少发复杂sql。
		并直接在数据库中设计触发器,只发一条sql。当满足条件,触发事件。
			什么是触发器?
					触发器效率很高。
	② 数据库存储引擎的选择。 MyISAM  Innodb....
	③创建索引。
			(以空间换取时间)
			索引是创建在列上的。只是一种数据结构,用于查询性能的,但是增删改相对慢,因为需要更新索引。
			分类:	普通索引、唯一索引、主键索引、全文索引
			。 
			分表
			分区:
			less than 小于	
			分库:
				多数据源的配置
			变多次为1次
			关闭唯一校验,null之类的。
			读写分离,主从同步,