MYSQL系列-Mysql存储引擎选择
MYSQL系列-Mysql存储引擎选择
//查看当前数据库支持的存储引擎
show engines \G;
创建表的时候可以通过engine=MyISAM指定存储引擎
MyISAM:
1、MYISAM不支持事务也不支持外键,其优势在于访问速度快,对事务完整性没有要求或者以select、insert为主的应用基本都可以使用MyISAM引擎。
2、MyISAM的表可能会损坏,可以使用check table语句来检查MyISAM表的健康,并可以使用repair table语句修复一个损坏的MyISAM表。
check语法:
CHECK TABLE tb_name[,tbl_name] ... [option] ...
option= {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}
QUICK: 不扫描行,不检查错误的链接
FAST: 只检查没有被正确关闭的表。
CHANGED: 只检查上次检查后被更改的表,和没有被正确关闭的表。
MEDIUM: 扫描行,以验证被删除的链接是有效的。也可以计算各行的关键字校验和,并使用计算出的校验和验证这一点。
EXTENDED:对每行的所有关键字进行一个全面的关键字查找。这可以确保表是100%一致的,但是花的时间较长。
mysql> check table t1;//显示信息一般是OK证明没有问题
+---------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+---------+-------+----------+----------+
| test.t1 | check | status | OK |
+---------+-------+----------+----------+
3、MyISAM支持三种不同的存储格式
静态表、动态表、压缩表 InnoDB:
1、这是Mysql5.7默认的存储引擎,有很多特性在官方文档上可以查到,主要使用的就是InnoDB的引擎。
InnoDB引擎支持事务和外键,
2、在导入多表数据时,如果存在外键的话会检查导入的数据,因此这是可以先暂时关闭外键约束来加快处理速度,关闭命令是:
SET FOREIGN_KEY_CHECKS=0; 执行完毕之后再把外键约束打开:SET FOREIGN_KEY_CHECKS=1;
3、对于InnoDB类型的表,外键信息可以使用show create table或者show table status命令显示。 MEMORY:
MEMORY存储引擎使用存在于内存中的内容来创建表,每个MEMORY实际对应一个磁盘文件。MEMORY的访问非常快,并且使用HASH索引
给MEMORY创建索引时可以指定使用HASH还是BTREE索引。MEMORY引擎主要用于哪些内容变化不频繁的代码表,或者作为统计操作的中间代码表。 MERGE:
MERGE引擎是一组MyISAM表的组合,这些MyISAM表的表结构必须完全相同,对MERGE表的操作实际上是对MyISAM表的操作。
...... 存储引擎的选择需要根据应用系统的实际情况,对于初学者,入门MySql的人员可以简单了解,具体应用时需要参考文档。
Mysql5.x手册 http://doc.mysql.cn/Mysql官网 http://dev.mysql.com/
Mysql5.7参考手册 http://dev.mysql.com/doc/refman/5.7/en/
其他参考手册CSDN-Mysql知识库
author: liuning
MYSQL系列-Mysql存储引擎选择的更多相关文章
- mysql配置与存储引擎与字段类型与约束条件
目录 字符编码与配置文件 存储引擎 创建表的完整语法 字段类型 整型 浮点型 字符类型 数字的含义 枚举与集合 日期类型 约束条件 字符编码与配置文件 在MySQL5.X系列中,显示的字符编码有多种, ...
- MySQL的多存储引擎架构
支持多种存储引擎是众所周知的MySQL特性,也是MySQL架构的关键优势之一.如果能够理解MySQL Server与存储引擎之间是怎样通过API交互的,将大大有利于理解MySQL的核心基础架构.本文将 ...
- mysql缓存、存储引擎
一. mysql查询缓存 查询缓存不是mysql的子系统,却是查询优化和执行子系统不可缺少的组成部分.它不仅可以缓存查询结果,还可以缓存查询结果本身.如果某个查询的结果就在缓存里, 系 ...
- MySQL数据库InnoDB存储引擎中的锁机制
MySQL数据库InnoDB存储引擎中的锁机制 http://www.uml.org.cn/sjjm/201205302.asp 00 – 基本概念 当并发事务同时访问一个资源的时候,有可能 ...
- MySQL支持多种存储引擎
MySQL的强大之处在于它的插件式存储引擎,我们可以基于表的特点使用不同的存储引擎,从而达到最好的性能. MySQL有多种存储引擎:MyISAM.InnoDB.MERGE.MEMORY(HEAP).B ...
- MySQL的常见存储引擎介绍与参数设置调优
MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check table tablename repair table tablename 3.MyISAM表支持的索引 ...
- MySQL的常见存储引擎介绍与参数设置调优(转载)
原文地址:http://www.cnblogs.com/demon89/p/8490229.html MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check ta ...
- Mysql 版本号、存储引擎、索引查询
[1]Mysql 版本号.存储引擎.索引查询 # 查看数据库版本号 SELECT VERSION(); # 查看数据库支持的引擎(默认即Support == DEFAULT行) SHOW ENGINE ...
- mysql中有多种存储引擎,每种引擎都有自己的特色
mysql中有多种存储引擎,每种引擎都有自己的特色. 用途: MyISAM:快读, Memory:内存数据, InnoDB:完整的事务支持 锁: MyISAM:全表锁定, Memory:全表锁定, I ...
随机推荐
- 小议C#接口的隐式与显示实现
小弟不才,各位大牛嘴下留情... 一.对于继承类里头有相同方法时候,用接口方式去调用,会优先查走显式接口方法 例如 public interface IA { void Test(); } publi ...
- C#winform拖动无边框窗体
private bool isMouseLeftKeyDown = false; private Point mousePointToClient = new Point();//相对于本窗体鼠标位置 ...
- ExposedObject的使用
ExposedObject可以将一个对象快速封装未一个dynamic using System; namespace ConsoleApp2 { class Program { static void ...
- Day 3 Python 基础数据类型二
1. INT 型 #1. 数字int #bit_length() 当十进制用二进制表示时,最少使用的位数. v =11 data = v.bit_length() print(data) 2. 布尔值 ...
- docker--基本命令
仅做学习参考,可能有误 part1:启动docker服务 在Windows上使用MySQL时候,有时无法直接使用MySQL -uroot -p 来进入MySQL,这是因为我们没有启动会MySQL服务此 ...
- MultiDataTrigger
MultiDataTrigger是多条件数据触发器 和MltiTrigger是同样的,只不过前者是数据,后者是属性. 这个是基本的使用语法 <MultiDataTrigger> <M ...
- 在一个java类里,private int a; 什么时候要使用integer
private Integer index; if(index == null) index = 0; else this.index = index; Integer有一个明显的好处,就是它能比in ...
- oracle导出clob 工具
oracle导出clob 等大字段,用pl/sql 等无法导出,除了备份数据库,但是一般数据库中正式环境数据和开发环境中数据不一定完全一致或者合适导出,即使仅仅导出导入一个表,有时候也不方便或者业务上 ...
- js实现斐波那契数列
1:递归 function fb1(n){ if(n <= 2){ return 1; }else{ return fb1(n-1) + f ...
- 2B - Amy
数据范围是18位,把每一位加起来的和最多9*18 = 162 所以只需考虑n-162 - n的数即可,暴力解决 #include <iostream> using namespace st ...