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中的数 ...
随机推荐
- YAML说明
YAML说明 https://www.cnblogs.com/songchaoke/p/3376323.html XML的简化
- 【JavaEE WEB 开发】Tomcat 具体解释 Servlet 入门
转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/47146817 一. Tomcat 下载安装配置 1. Tomcat 下载 T ...
- hdu 4628 Pieces(状态压缩+记忆化搜索)
Pieces Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total S ...
- leetcode第一刷_Add Binary
二进制相加,本质上就是大整数加法,有关大整数加法我的舍友教过我一个非常好的方法,先用一个int数组保存结果,将两个数相应位置相加,所有加完后.再统一处理进位的问题.这种方法相同适用于大整数的乘法. 这 ...
- UVALive 4223 / HDU 2962 spfa + 二分
Trucking Problem Description A certain local trucking company would like to transport some goods on ...
- php利用msqli访问数据库并实现分页,
<?php require_once 'login.php'; $num_rec_per_page=2; // 每页显示数量 //mysql_connect('localhost','jim', ...
- JavaScript学习——表格的隔行换色+高亮显示
1.案例一:我们希望在后台页面中实现一个隔行换色的效果显示所有的用户信息,显示效果如下: 1)新标签 <thead> //表头 <tr> <th></th&g ...
- Epplus做Excel的数据透视
//表格的范围需要自己定义 var epplus = new ExcelPackage(); var sheet = epplus.Workbook.Worksheets.Add("Shee ...
- [转帖]关于Xilinx下Micro_Blaze中UartLite232外设的使用
来源:https://blog.csdn.net/shen_you/article/details/78713746
- vue反向代理解决跨域
问题描述 在项目开发的时候,接口联调的时候一般都是同域名下,且不存在跨域的情况下进行接口联调,但是当我们现在使用vue-cli进行项目打包的时候,我们在本地启动服务器后,比如本地开发服务下是 http ...