mysql中engine是什么意思_请问mysql中ENGINE=MyISAM代表什么意思?
2015-08-27 回答
1/isam
isam是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,isam执行读取操作的速度很快,而且不占用大量的内存和存储资源。isam的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把isam用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,mysql能够支持这样的备份应用程序。
2/innodb
它提供了事务控制能力功能,它确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退,可以想像在电子银行中事务控制能力是非常重要的。支持commit、rollback和其他事务特性。最新版本的mysql已经计划移除对bdb的支持,转而全力发展innodb。
myiasm是iasm表的新版本,有如下扩展:
二进制层次的可移植性。
null列索引。
对变长行比isam表有更少的碎片。
支持大文件。
更好的索引压缩。
更好的键吗统计分布。
更好和更快的auto_increment处理。
以下是一些细节和具体实现的差别:
1.innodb不支持fulltext类型的索引。
2.innodb中不保存表的
具体行数,也就是说,执行select count(*) from
table时,innodb要扫描一遍整个表来计算有多少行,但是myisam只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含
where条件时,两种表的操作是一样的。
3.对于auto_increment类型的字段,innodb中必须包含只有该字段的索引,但是在myisam表中,可以和其他字段一起建立联合索引。
4.delete
from table时,innodb不会重新建立表,而是一行一行的删除。
5.load table from
master操作对innodb是不起作用的,解决方法是首先把innodb表改成myisam表,导入数据后再改成innodb表,但是对于使用的额外的innodb特性(例如外键)的表不适用。
另外,innodb表的行锁也不是绝对的,如果在执行一个sql语句时mysql不能确定要扫描的范围,innodb表同样会锁全表,例如update
table set num=1 where name like “�a%”
任何一种表都不是万能的,只用恰当的针对业务类型来选择合适的表类型,才能最大的发挥mysql的性能优势.
mysql
administrator建数据库的时候,表缺省是innodb类型。
innodb,myisam
两种类型有什么区别:myisam类型不支持事务处理等高级处理,而innodb类型支持。
myisam类型的表强调的是性能,其执行数度比innodb类型更快,但是不提供事务支持,而innodb提供事务支持,外键等高级数据库功能。
myisam类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从windows系统拷贝到linux系统中使用。
修改表的引擎类型:
alter
table tablename engine = myisam ;
myisam:,它是基于传统的isam类型,isam是indexed
sequential access method (有索引的 顺序访问方法)
的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,myisam具有检查和修复表格的大多数工具.
myisam表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量
的select,myisam是更好的选择。
innodb:这种类型是事务安全的.它与bdb类型具有相同的特性,它们还支持外键.innodb表格速度很快.具有比bdb还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它.如果你的数据执行大量的insert或update,出于性能方面的考虑,应该使用innodb表,
对于支持事物的innodb类型的标,影响速度的主要原因是autocommit默认设置是打开的,而且程序没有显式调用begin
开始事务,导致每插入一条都自动commit,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打
开也可以),将大大提高性能。
1.查看表信息,里面包括使用的引擎类型,字符编码,表结构等
使用这个命令
mysql>
show create table t1;--t1是表名
2.
可以执行以下命令来切换非事务表到事务(数据不会丢失),innodb表比myisam表更安全:
alter table t1
type=innodb;--t1是表名
3.
innodb表不能用repair table命令和myisamchk -r table_name
但可以用check table
t1,以及mysqlcheck [options] database [tables]
4.
启动mysql数据库的命令行中添加了以下参数可以使新发布的mysql数据表都默认为使用事务(
只影响到create语句。)
--default-table-type=innodb
5.
临时改变默认表类型可以用:
set table_type=innodb;
mysql中engine是什么意思_请问mysql中ENGINE=MyISAM代表什么意思?相关推荐
- mysql存储过程打不开了_请问mysql存储过程的问题,我找了几个例子一个都运行不起来,...
比如下面这个例子-----CREATEPROCEDUREsp_demo_in_parameter(INp_inINT)BEGINSELECTp_in;SETp_in=2;selectp_in;END; ...
- 计算机公式above,word表格中求和公式是SUM(ABOVE).请问:括号中ABOVE是什么意思呢?
word表格中求和公式是SUM(ABOVE).请问:括号中ABOVE是上面的意思,sum是求和的公式,后面括号里的参数可以按照自己的需要进行变换. word表格中求和公式是SUM后面的参数是对相应位置 ...
- mysql数据库取奇数行数据_查询数据库中的奇数行和偶数行
功能奇数次执行和偶数次执行时的结果不同的故障复盘 场景:将数据库查询到的数据,写入一个xls文件.完成后,多点几次,发现一个问题,偶数次生成的文件比较小,打开一看,里面只有一行,只有标题,没有内容.分 ...
- mysql里字典是什么意思_解析MySQL数据字典中的一些疑问
MySQL关于数据字典的一个疑问.为什么MySQL数据字典中的表名是大写呢,这个大写的表名是什么呢,该如何了解它并解决这个疑问呢? 今天看着MySQL的数据字典,突然想到一个问题:为什么MySQL数据 ...
- mysql8中怎么增删一列_关于MySQL的增删改查知识
增删改查基础操作 1.创建查询数据库:mysql>create database web; mysql>show databases; 2.创建数据表: #选择要使用的数据库:mysql& ...
- mysql截取最后一个斜杠_在MySQL中最后一个斜杠之后选择文本?
您需要使用MySQL的substring_index()函数来选择文本. 语法如下SELECT substring_index(yourColumnName,'/',-1) AS anyAliasNa ...
- mysql驱动为什么自动加载_为什么JDBC中加载驱动要使用反射?
原文链接:https://www.cnblogs.com/homejim/p/8076481.html 在JDBC详解系列(一)之流程中,我将数据库的连接分解成了六个步骤. JDBC流程: 第一步:加 ...
- mysql安装时损坏的图像_在PHP中从MySQL获取图像会导致图像损坏
我遇到了错误 "图片".... image.php?id = 1878"无法显示,因为它包含错误. 这是我从db中检索图像内容的代码. db中的数据是正确的,因为相同的文 ...
- mysql在linux下显示花_在Linux 中搭建 Mysql
在本次搭建,出现了各种问题,一直解决不掉,建议各位小伙伴不要像我一样,像一个无头的苍蝇一样,这有问题就解决这个问题,没有意识本质实在的问题. 主要问题(加星,标重点):一定要看自己的linux 版本, ...
最新文章
- 阿里云有史以来最大的一次优惠,爆款限时抢,至少省10000+
- Qt Designer快速入门
- C,C++,C#的点评
- (4) hibernate增删查改+批量操作+类似Mybatis动态sql
- Java EE 8 MVC:Ozark入门
- ROBEL:谷歌推出低成本机器人训练平台
- 7-7 印度大壶节 (25 分)
- Pandas 数据框增、删、改、查、去重、抽样基本操作
- 学前教育与计算机,计算机与幼儿教育
- Microsoft Project项目管理实践
- java分发_【Java】用注解实现分发器
- UIButton高亮(highlighted)下的边框颜色(borderColor)
- RTP传输JPEG图片到VLC实时播放(代码)
- 硬件设计基础----运算放大器
- 并发模拟的四种方式+工具,超级实用!
- 有什么编辑图片加文字的软件?今日推荐:图片编辑软件加文字
- eclipse svn 忽略target .settings
- HFSS-API入门第二弹:基本形状和操作
- 魔法师与麻瓜,只隔一个大数据的距离
- 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)