什么影响了数据库性能

1 服务器硬件

CPU:MYSQL不支持多CPU对同一SQL处理,多核可同时处理多条数SQL
 并发多 核数重要
 密集计算 频率重要
内存:增加内存可改善IO问题
          内存可将随机读写 变成 顺序读写 增大读写速度
磁盘IO :raid 1 raid 0 raid 5 raid 10 常用的
机械硬盘

固态存储
  适用于存在大量随机IO场景
  适用于解决单线程负载的IO瓶颈
  更好的随机读写性能
  更好的支持并发
  同样支持RAID技术
  Function IO 用PCI-E接口 性能好于SSD 会消耗CPU 和内存资源
网络存储 适合数据库备份
 SAN 光千 相当于硬盘
 NAS 基于文件协议
网络IO
 延迟 
 带宽

2 服务器操作系统

CentOS 参数

3数据库存储引擎

插件式存储引擎   客户端->服务层->存储引擎层

MyISAM:不支持事务,表级锁,共享锁  读写阻塞 读读不阻塞

InnoDb:支持事务 完美支持行级锁 事务ACID特性 建议使用独立表空间
             阻塞 事务占用  死锁 事务占用且循环占用  回滚其中一条事务可解决    共享锁 排它锁

4 数据库参数配置(影响大)

 可从两个方式获取配置信息 命令行   配置文件

centos mysql读取配置信息的顺序 可用mysqld_safe --datadir = /data/sql_data
配置参数作用域 全局参数 set global 参数名=参数值 set @@global 参数名=参数值    会话参数 set[session] 参数名=参数值 
内存配置项
确定可以使用的内存上限 和 每个线程使用的内存 避免分配内存过大 导致内存溢出 以至于MYSQL崩溃
sort_buffer_size 排序缓冲区内存 如果设置100m 有100个连接 将使用10G内存
join_buffer_size 连表缓冲区 一个连接一个分配 三张表则有两个连接
read_buffer_size  全表扫描 分配该参数大小内存 
read_rnd_buffer_size 索引参数大小 分配需要的大小不是设置参数的大小

Innodb_buffer_pool_size  INNODB缓存池大小

5 数据库结构设计和SQL语句(重点)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值