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代表什么意思?相关推荐

  1. mysql存储过程打不开了_请问mysql存储过程的问题,我找了几个例子一个都运行不起来,...

    比如下面这个例子-----CREATEPROCEDUREsp_demo_in_parameter(INp_inINT)BEGINSELECTp_in;SETp_in=2;selectp_in;END; ...

  2. 计算机公式above,word表格中求和公式是SUM(ABOVE).请问:括号中ABOVE是什么意思呢?

    word表格中求和公式是SUM(ABOVE).请问:括号中ABOVE是上面的意思,sum是求和的公式,后面括号里的参数可以按照自己的需要进行变换. word表格中求和公式是SUM后面的参数是对相应位置 ...

  3. mysql数据库取奇数行数据_查询数据库中的奇数行和偶数行

    功能奇数次执行和偶数次执行时的结果不同的故障复盘 场景:将数据库查询到的数据,写入一个xls文件.完成后,多点几次,发现一个问题,偶数次生成的文件比较小,打开一看,里面只有一行,只有标题,没有内容.分 ...

  4. mysql里字典是什么意思_解析MySQL数据字典中的一些疑问

    MySQL关于数据字典的一个疑问.为什么MySQL数据字典中的表名是大写呢,这个大写的表名是什么呢,该如何了解它并解决这个疑问呢? 今天看着MySQL的数据字典,突然想到一个问题:为什么MySQL数据 ...

  5. mysql8中怎么增删一列_关于MySQL的增删改查知识

    增删改查基础操作 1.创建查询数据库:mysql>create database web; mysql>show databases; 2.创建数据表: #选择要使用的数据库:mysql& ...

  6. mysql截取最后一个斜杠_在MySQL中最后一个斜杠之后选择文本?

    您需要使用MySQL的substring_index()函数来选择文本. 语法如下SELECT substring_index(yourColumnName,'/',-1) AS anyAliasNa ...

  7. mysql驱动为什么自动加载_为什么JDBC中加载驱动要使用反射?

    原文链接:https://www.cnblogs.com/homejim/p/8076481.html 在JDBC详解系列(一)之流程中,我将数据库的连接分解成了六个步骤. JDBC流程: 第一步:加 ...

  8. mysql安装时损坏的图像_在PHP中从MySQL获取图像会导致图像损坏

    我遇到了错误 "图片".... image.php?id = 1878"无法显示,因为它包含错误. 这是我从db中检索图像内容的代码. db中的数据是正确的,因为相同的文 ...

  9. mysql在linux下显示花_在Linux 中搭建 Mysql

    在本次搭建,出现了各种问题,一直解决不掉,建议各位小伙伴不要像我一样,像一个无头的苍蝇一样,这有问题就解决这个问题,没有意识本质实在的问题. 主要问题(加星,标重点):一定要看自己的linux 版本, ...

最新文章

  1. 阿里云有史以来最大的一次优惠,爆款限时抢,至少省10000+
  2. Qt Designer快速入门
  3. C,C++,C#的点评
  4. (4) hibernate增删查改+批量操作+类似Mybatis动态sql
  5. Java EE 8 MVC:Ozark入门
  6. ROBEL:谷歌推出低成本机器人训练平台
  7. 7-7 印度大壶节 (25 分)
  8. Pandas 数据框增、删、改、查、去重、抽样基本操作
  9. 学前教育与计算机,计算机与幼儿教育
  10. Microsoft Project项目管理实践
  11. java分发_【Java】用注解实现分发器
  12. UIButton高亮(highlighted)下的边框颜色(borderColor)
  13. RTP传输JPEG图片到VLC实时播放(代码)
  14. 硬件设计基础----运算放大器
  15. 并发模拟的四种方式+工具,超级实用!
  16. 有什么编辑图片加文字的软件?今日推荐:图片编辑软件加文字
  17. eclipse svn 忽略target .settings
  18. HFSS-API入门第二弹:基本形状和操作
  19. 魔法师与麻瓜,只隔一个大数据的距离
  20. 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)

热门文章

  1. 批量将postgis进行WGS84与bd-09,gcj-02坐标系转换
  2. 人工智能第二次作业 书上69页作业
  3. 线上电商数据可以为我们带来哪些营销情报
  4. revit插件加载位置 addin 文件位置
  5. 空间计量 python_【空间计量教程】空间计量及Geoda、Stata、R操作(线性回归篇)...
  6. 萌呆易支付12月最新的版本(终结)
  7. java进阶一 java8的新特性
  8. 性能测试 Performance Test Report
  9. 简单几步就可以把pdf转换成excel格式
  10. vue项目新闻消息向上滚动案例