数据库的优化
程序员文章站
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之类的。
读写分离,主从同步,
上一篇: 017 MySQL学习,账户管理
下一篇: 怎么查看CPU是不是钎焊?