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

MYSQL数据库引擎

时间:2018-11-23 21:28:58      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:读写   status   技术分享   并发   pass   修改   互斥   ==   ble   

一、MYSQL数据库引擎

1、概述

Mysql数据库有两种重要的存储引擎

MyISAMInnoDB

 

数据库最早只有MyISAM引擎。

Mysql5.5版本之前的默认引擎都是MyISAM

MyISAM引擎对读数据的支持非常好,在早期的网站结构中,数据交互的部分很少,用户上网几乎也是看数据,很少向数据库里写数据。

 

2、特点

aMyISAM引擎的特点

1)不支持事务===>不支持复杂功能、对系统资源占用少

2)读的速度特别快,读写互斥(读时候不能写,写时候不能读)==>读好,写支持不好

3)一旦写入数据,引擎直接对数据表进行表级别锁定,其他用户不能再读写==>写慢

4)可以缓存索引,但是不缓存数据==>内存占用小

 

bInnoDB类型的数据表特点

1)支持事务、支持复杂功能==>对服务器资源要求高

2)一旦写入数据,行级别锁定,单表支持并发写==>写支持好

3)可以缓存索引,也能缓存数据==>内存占用大,对服务器要求高

4)读写阻塞与实务隔离级别相关(开事务就读写阻塞,不开就不阻塞)

5)行级锁定,全表扫描仍会表级锁定(就是模糊过滤,工作中要禁止的,用索引)

 

3、查看数据库和表配置的引擎

查看库的引擎:

show engines;

技术分享图片 

 

方法一:查看表的引擎:

show table status from 库名 where name=表名’\G;

技术分享图片 

 

 

 

 

 

系统表是MyISAM引擎

show table status from mysql where name=’user’\G;

技术分享图片 

 

 

 

 

 

 

 

 

方法二:查看表引擎方式(建表时候看引擎)

show create table client.user_info \G;

技术分享图片 

 

4、配置引擎

方法一:

alter table 库名.表名 engine=引擎

alter table client.user engine=innodb;

方法二:

修改my.cnfdefault-storage-engine 为引擎

vim /etc/my.cnf

方法三:

create table 建立表时设置engine=引擎

use auth;

create table id(id int) engine=myisam;

方法四:

mysql_convent_table_format --user=root --password=密码 --sock=文件路径/mysql.sock --engine=引擎 库名 表名

mysql_convent_table_format --user=root --password=123123 --sock=/var/lib/mysql/mysql.sock --engine=myisam client user_info

 

MYSQL数据库引擎

标签:读写   status   技术分享   并发   pass   修改   互斥   ==   ble   

原文地址:https://www.cnblogs.com/kakajiang/p/10009754.html

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