MySQL优化-存储引擎
MySQL优化-存储引擎
标签(空格分隔): mysql
存储引擎
查看存储引擎
show engines
Myisam:
表锁 全文索引
Innodb:
行锁 事物 外键
Memory:
内存存储引擎 速度快 数据容易丢失
Myisam:
创建Myisam数据表
create table(xxx)engine=Myisam charset=utf8
Myisam 会生成三个表文件:
/usr/local/mysql/var/databaseName/tableName
student.frm 表结构 frame
student.MYD 表数据 data
student.MYI 表索引 index
Myisam 支持复制粘贴 只需要把这三个文件copy
就可以 无需sql导入
Myisam 压缩机制 节省空间
myisampack tablename 压缩-路径
myisamchk --unpack tablename 解压
myisamchk -rq tablename 重新生成索引
/usr/local/mysql/bin/myisampack /usr/local/mysql/var/comic/student [压缩]
/usr/local/mysql/bin/myisamchk -rq /usr/local/mysq/var/comic/student [重建索引]
/usr/local/mysql/bin/myisamchk --unpack /usr/local/mysq/var/comic/student [解压]
flush table student [刷新表]
在执行重建索引是会有的会报错:
[myisam] error:unknow variables read_buffer = 2M
vi /etc/my.cnf
在[myisamchk]
把 read_buffer = 2M | write_buffer = 2M 注释掉就可以了
压缩前:
-rw-r----- 1 mysql mysql 8688 Aug 4 16:06 student.frm
-rw-r----- 1 mysql mysql 201326592 Aug 4 16:39 student.MYD
-rw-r----- 1 mysql mysql 43111424 Aug 4 16:39 student.MYI
压缩后:
-rw-r----- 1 mysql mysql 8688 Aug 4 16:06 student.frm
-rw-r----- 1 mysql mysql 71303864 Aug 4 16:39 student.MYD
-rw-r----- 1 mysql mysql 1024 Aug 4 16:51 student.MYI
Myisam压缩后要重建索引 解压后无需重建索引
Myisam压缩后只允许读操作 不允许写操作 [table student is read only]
Myisam数据的写入数据和存储数据一致
Myisam如果进行并发写入时 为了保证数据的一致性 加锁 只支持表锁。表锁会影响
整个数据表的操作 其他操作在等待
Innodb:
Innodb默认只用一个表结构文件,索引和数据和整个数据库共同使用
/usr/local/mysql/var/ibdata1 整个数据库的索引和数据
/usr/local/mysql/var/comic/student1.frm innodb表结构文件
可以通过配置文件 达到每一个Innodb表结构文件对应一个表空间文件
show variables like 'innodb_file_per_table' [查看]
set global innodb_file_per_table = 1 [开启]
/usr/local/mysql/var/comic/student1.ibd
Innodb复制恢复
mysqldump -uroot -proot databaseName > 路径.sql [备份]
mysql -uroot -proot databaseName < 路径.sql [还原]
Memory:
内部数据运行速度非常快,临时存储一些信息
内存存储引擎,重启mysql数据会丢失
summary:
Myisam:写入数据非常快,适合读写频繁的系统
Innodb:适用于业务逻辑较强,修改操作较多的系统
MySQL优化-存储引擎的更多相关文章
- mysql优化 | 存储引擎,建表,索引,sql的优化建议
个人对于选择存储引擎,建表,建索引,sql优化的一些总结,给读者提供一些参考意见 推荐访问我的个人网站,排版更好看: https://chenmingyu.top/mysql-optimize/ 存储 ...
- MySQL常用存储引擎及如何选择
一.MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 ...
- MySQL数据库----存储引擎
什么是存储引擎? 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操 ...
- MySql 扩展存储引擎
MySql 扩展存储引擎 下面介绍几个列式存储引擎(都有两个版本:社区版.商业版): 一:TokuDB TokuDB 是一个高性能.支持事务处理的 MySQL 和 MariaDB 的存储引擎.Toku ...
- MySQL-TokuDB:MySQL 高性能存储引擎:TokuDB
ylbtech-MySQL-TokuDB:MySQL 高性能存储引擎:TokuDB 1.返回顶部 1. 在安装MariaDB的时候了解到代替InnoDB的TokuDB,看简介非常的棒,这里对ToduD ...
- [转帖]mysql常用存储引擎(InnoDB、MyISAM、MEMORY、MERGE、ARCHIVE)介绍与如何选择
mysql常用存储引擎(InnoDB.MyISAM.MEMORY.MERGE.ARCHIVE)介绍与如何选择原创web洋仔 发布于2018-06-28 15:58:34 阅读数 1063 收藏展开 h ...
- [转载]MySQL的存储引擎
[转载]MySQL的存储引擎 来源:https://www.cnblogs.com/lina1006/archive/2011/04/29/2032894.html 其实这是个只有在MySQL中才存在 ...
- MySQL InnoDB存储引擎体系架构 —— 索引高级
转载地址:https://mp.weixin.qq.com/s/HNnzAgUtBoDhhJpsA0fjKQ 世界上只两件东西能震撼人们的心灵:一件是我们心中崇高的道德标准:另一件是我们头顶上灿烂的星 ...
- Mysql基础(二):MySQL之存储引擎
目录 MySQL之存储引擎 1.MySQL存储引擎介绍 2.MySQL结构 3.MySQL存储引擎分类 4.存储引擎的使用 5.总结 MySQL之存储引擎 1.MySQL存储引擎介绍 MySQL中的数 ...
随机推荐
- HDU 4372
想了很久,终于想到了.... 向后看到F,向前看到B,假如把N-1个楼分成F+B个组,则把每个组最高的楼作为看到的楼,那么,其实在确定每一组的最高楼时,左边或右边的最高楼的顺序已经确定了.由于是排列数 ...
- Hibernate中session回话的get方法和load方法的区别
1.报错方式不同: 前提:获取的数据不存在 get方法会报异常:空指针异常 load方法会报异常:对象为找到异常,给定值没有行存在. 2.load方法 这种方式总是会返回一个代理而不是真正得去查询数据 ...
- SICP 习题 (1.41)解题总结
SICP 习题1.41 看似和周边的题目没有关系,突然叫我们去定义一个叫double的过程,事实上这道题的核心还是高阶函数. 题目要求我们定义一个过程double,它以一个过程作为參数,这个作为參数的 ...
- 在openwrt上编译一个最简单的ipk包
1 什么是opkg Opkg 是一个轻量快速的套件管理系统,目前已成为 Opensource 界嵌入式系统标准.常用于路由.交换机等嵌入式设备中,用来管理软件包的安装升级与下载. opkg updat ...
- Java TreeMap 介绍和使用
转自:https://www.cnblogs.com/skywang12345/p/3310928.html 概要 这一章,我们对TreeMap进行学习. 我们先对TreeMap有个整体认识,然后再学 ...
- BZOJ 2844 高斯消元 线性基
思路: //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using ...
- (转载)打开一个本地apk进行安装
1 2 3 4 5 6 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); File file = new File ...
- js产生随机数的几个方法
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分. 3.Math.round(n ...
- SQL 自动记录存储过程,表,函数的创建修改和删除 -相当于SVN一样
在项目开发过程中,项目管理者通常都很希望对项目的开发进展有一个日志的记录.代码的记录和管理可以通过TFS或者VSS等工具去管理.但是数据库却没有记录开发日志这一功能.这在实际开发中很不方便, ...
- eclipse历史版本下载地址
http://wiki.eclipse.org/Older_Versions_Of_Eclipse