MySQL 配置优化
2018-4-5
| 2023-7-17
0  |  0 分钟
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参数
使用场景:
  • 偶尔的统计分析及手工查询
数据库
  • MySQL配置
  • NumPy 基础用法在Docker中运行crontab
    目录