type
status
date
slug
summary
tags
category
icon
password
CentOS系统参数优化
内核相关参数 /etc/sysctl.conf
Linx PAM 插入式认证模块的配置文件/etc/security/limit.conf
磁盘调度策略 /sys/block/devname/queue/scheuler
存储引擎选择
MyISAM
适用场景:
- 非事务性应用
- 只读类应用
- 空间类应用(5.7版本前唯一支持空间函数引擎)
Innodb引擎
特性:
- 事物型引擎
- 完全支持ACID特性(原子 一致 隔离 持久)
- Redo Log 和 Undo Log
- 支持行级索, 可以最大程度的支持并发
使用表空间进行数据存储,
innodb_file_per_table
参数为 on
时使用独立表空间(ibd后缀文件), off
时使用系统表空间(ibdataX)功能差异:
- 系统表空间5.5及以前版本无法简单收缩文件大小
- 独立表空间可通过
optimize table
命令收缩系统空间
- 独立表空间存在IO瓶颈
- 独立表空间可以同时向多个文件刷新数据
建议使用 Innodb 独立表空间(5.6及以后版本的默认表空间)
查看状态:
通过
show engine innodb status
可以查看 innodb 引擎的状态信息适用场景:
- 适合大多数OLTP(联机事务处理)应用
CSV
特点:
- 数据以文本方式储存在文件中
- .CSV文件存储表内容
- .CSM文件存储表的元数据如表状态和数据量
- .frm文件存储表结构信息
- 以CSV格式进行数据存储
- 所有列必须都是不能为NULL的
- 不支持索引, 不适合在线处理
- 可以对数据文件直接编辑
适用场景:
- 适合作为数据交换的中间表
Archive
特点:
- 以zlib对表数据进行压缩, 磁盘I/O更少
- 数据存储在 ARZ 为后缀的文件中
- 只支持 insert 和 select 操作
- 只允许在自增ID列上加索引
适用场景:
- 日志和数据采集类应用
Memory
特点:
- 也称为HEAP存储引擎, 所有数据保存在内存中, 数据易失, 需要数据可再生
- 支持 HASH(默认, 适合等值查找) 索引和 BTree(适合范围查找) 索引
- 所有字段都为固定长度 varchar(10)=char(10)
- 不支持 BLOG 和 TEXT 等大字段
- Memory 存储引擎使用表级锁
- 最大大小由
max_heap_table_size
参数决定
适用场景:
- 用于查找或者是映射表, 如邮编和地区的对应表
- 用于保存数据分析中产生的中间表
- 用于缓存周期性聚合数据的结果表
Federated
特点:
- 提供了访问远程MySQL服务器上表的方法
- 本地不存储数据, 数据全部放到远程服务器上
- 本地需要保存表结构和远程服务器的连接信息
使用方法:
- 默认禁止, 启用需要在启动时增加federated参数
使用场景:
- 偶尔的统计分析及手工查询