MySQL-MyISAM引擎与InnoDB引擎性能的对比 (mysql认证)

教程大全 2025-07-13 03:19:34 浏览

MySQL MyISAM引擎与InnoDB引擎相信大家都不陌生,下面对MySQL MyISAM和InnoDB进行性能对比的测试,希望对您能有所帮助。

MySQL MyISAM引擎与InnoDB引擎性能的对比测试:

首先介绍一下“硬件”和“软件”的配置。

1:硬件配置

CPU : AMD2500+ (1.8G)内存: 1G/现代硬盘: 80G/IDE2:软件配置

OS : Windows XP SP2SE : PHP5.2.1DB : MySQL5.0.37Web: IIS63:MySQL表结构

4:数据内容

$name = “heiyeluren”;

$content = “MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:· MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。 ·MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。 释:MEMORY存储引擎正式地被确定为HEAP引擎。· InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。·EXAMPLE存储引擎是一个“存根”引擎,它不做什么。你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是面对开发者。

插入数据-1

(innodb_flush_log_at_trx_commit=1)MyISAM 1W:3/sInnoDB 1W:219/s

MyISAM 10W:29/sInnoDB 10W:2092/s

MyISAM 100W:287/sInnoDB 100W:没敢测试插入数据-2

(innodb_flush_log_at_trx_commit=0)MyISAM 1W:3/sInnoDB 1W:3/s

MyISAM 10W:30/sInnoDB 10W:29/s

MyISAM 100W:273/sInnoDB 100W:423/s插入数据3

(innodb_buffer_pool_size=1024M)InnoDB 1W:3/sInnoDB 10W:33/sInnoDB 100W:607/s插入数据-4

(innodb_buffer_pool_size=256M, innodb_flush_log_at_trx_commit=1,set autocommit=0)

InnoDB 1W:3/sInnoDB 10W:26/sInnoDB 100W:379/s5.MySQL 配置文件(缺省配置)

# MySQL Server Instance Configuration File[client]port=3306[mysql]default-character-set=gbk[mysqld]port=3306basedir=”C:/mysql50/”>


mysql可以使用oracle吗

区别如下:一、并发性并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。 mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。 虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。 oracle:oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。 所以oracle对并发性的支持要好很多。 二、一致性oracle:oracle支持serializable的隔离级别,可以实现最高级别的读一致性。 每个session提交后其他session才能看到提交的更改。 oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。 mysql:mysql没有类似oracle的构造多版本数据块的机制,只支持read commited的隔离级别。 一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据。 session更新数据时,要加上排它锁,其他session无法访问数据。 三、事务oracle很早就完全支持事务。 mysql在innodb存储引擎的行级锁的情况下才支持事务。 四、数据持久性oracle保证提交的数据均可恢复,因为oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。 mysql:默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。

初次打开mysql5.6后,怎么使用呢?

一、mysql是通过DOS命令方式操作的,所以需要让DOS能找到相关命令,就得需要做一下配置,首先我们需要指定mysql服务启动启动的文件,用到bin包下的命令,可以通过环境变量配置找到此命令,也可通过在文件中添加下面配置的方式找到此命令:[WinMySQLAdmin]# 指定mysql服务启动启动的文件Server=D:/yan_package/mysql-5.6.23-win32/bin/对上述图的参数做下解释说明:basedir:设置mysql的安装目录datadir:设置mysql数据库的数据的存放目录port: 端口号server_id: server-id值类似于IP地址:这些ID值能唯一识别复制服务器群集中的每个服务器实例,如果设置主从服务器时,每个服务器必须有一个唯一的server-id值,且不相同。 也可以在配置文件中设置mysql服务器的字符集default-character-set=gbk二、文件修改好后,进入DOS命令安装mysql服务三、启动mysql服务四、在mysql控制台下以root用户登录,默认root用户是没有密码的,直接按回车。 八、登录成功后,可以看到都有哪些数据库.补充:停止mysql的服务用net stop mysql删除mysql的服务用mysqld -remove

MySQL 5.6 中 MyISAM 还有使用价值吗

MyISAM引擎与InnoDB引擎性能的对比

如果是一些小型的应用或项目,那么MyISAM 也许会更适合。 当然,在大型的环境下使用MyISAM 也会有很大成功的时候,但却不总是这样的。 如果你正在计划使用一个超大数据量的项目,而且需要事务处理或外键支持,那么你真的应该直接使用InnoDB方 式。 但需要记住InnoDB 的表需要更多的内存和存储,转换100GB 的MyISAM 表到InnoDB 表可能会让你有非常坏的体验。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐