码迷,mamicode.com
首页 > 数据库 > 详细

01.MySQL存储引擎

时间:2018-08-17 23:26:26      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:div   支持我   character   mysq   转换   shell   nbsp   适用于   myisam   

什么是存储引擎?
存储引擎就是一套程序,负责将用户的表示层(sql语句)数据转换成物理层(数据库数据文件)数据的一套程序。
 
MySQL是插件式的存储引擎. 什么是插件式存储引擎?
MySQL为了支持更灵活的架构,它把存储引擎做成一个插件式的,任何第三方都可以开发自己的插件,
来用于存储引擎完成从表示层到物理层,或物理层到表示层的双向转换。
因此MySQL拥有多种不同的存储引擎,不同的存储引擎所支持的特性是不一样的,
有的存储引擎支持事务,有的则不支持等等。MySQL支持我们自由选择所使用的存储引擎,但Oracle不支持。
 
MySQL的两个比较常见的存储引擎
存储引擎也被称为表类型
SHOW ENGINES; # 查看当前数据库支持的所有存储引擎
SHOW TABLE STATUS LIKE 表名\G # 可以查看到一张表的属性信息,可以看到这张表是什么存储引擎

MyISAM存储引擎(无事务,表锁):

    MySQL5.5.8之前默认存储引擎
    不支持事务
    MyISAM性能比较好,特别适用于查询比较多,而修改比较少的场景,所以特别适合数据存储。
    每表三个文件
        .frm: 表结构
        .MYD: 表数据
        .MYI: 表索引
 
InnoDB存储引擎(事务,行锁):
    MySQL5.5.8之后,Oracle收购MySQL之后,默认的存储引擎
    支持事务 
    InnoDB特别适用于在线事务处理系统(查询和修改都比较多),比如论坛(随时有人发帖,有人看帖)
    所有表共享一个表空间文件(不推荐)
    建议: 每表一个独立的表空间文件
        .frm: 表结构
        .idb: 表空间(表数据和表索引)
 
 
使用InnoDB引擎要做的事情
# 每表一个独立的表空间文件(推荐)
innodb_file_per_table
# 设置InnoDB表空间文件的存储路径
innodb_data_home_dir="D:/MySQL5.5/InnoDB"

 

 
db.opt是什么?
我们发现,每个数据库中都存在一个db.opt的文件,它是一个ASCII text文件,它定义了这个数据库使用的字符集和排序规则
它的内容类似下面这样
default-character-set=gbk
default-collation=gbk_chinese_ci

 

01.MySQL存储引擎

标签:div   支持我   character   mysq   转换   shell   nbsp   适用于   myisam   

原文地址:https://www.cnblogs.com/xiaofengchu/p/9495537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!