加载中...

MySQL—存储引擎

 主要包括两大引擎  MyISAM,InnoDB

1.MyISAM与InnoDB的区别

 

 

 

 

 

 

 

2.常规的使用操作  

1、MyISAM 节约空间,速度快

2、InnoDB 安全性高,事务的处理,多表操作。InnoDB表的每行数据都保存在主索引的叶子节点上。因此所有的InnoDB表必须包含主键,如果创建表的时候,没有显示指定主键,那么InnoDB存储引擎会创建一个长度为6个字节的long类型隐藏字段作为主键。

所有的数据库文件都存储在data目录下,一个文件夹对应一个数据库,其实本质还是文件的存储!

3.MySQL引擎在物理文件上的区别(了解即可)

InnoDB:在数据库表中只有一个 *.frm文件,以及上级目录的ibdata1文件
MyISAM:对应的文件
     *.frm    —表结构的定义文件
     *.MYD    —数据文件(data)
     *.MYI   —索引文件(index)

 

设置数据库表的字符集编码:

CHARSET=utf8

不设置的话,mysql默认的字符集编码(不支会持中文!)
MySQL默认编码是latin1,不支持中文
在my.ini中配置默认的编码:character-set-server=utf-8 (不建议使用,会使通用率降低)

 

4.总结:

InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。

注意,同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。

 

查看数据库及表结构的语句:

    show create database [数据库名]      --查看数据库的语句
    show create table [表名]          --查看创建表的语句
    desc [表名]                   --显示表的结构

 

posted @ 2020-02-11 17:47  luckyjcx  阅读(112)  评论(0编辑  收藏  举报