`

MySql 引擎

 
阅读更多

一、MySql引擎简介:

         MySql的存储引擎和其他数据库的存储引擎相比,最大的不同点就是Mysql的存储引擎是插件式存储引擎。插件式存储引擎是由底层物理结构实现的,负责为数据执行I/O操作,它是基于表而不是基于数据库的,所以可以为每一个表设置不同的存储引擎。

 

二、MySql引擎种类:

         MySql常用的存储引擎有:InnoDB、MyISAM、MRG_MYISAM、MEMORY(HEAP)、BDB、CVS、Archive等。下面简单介绍一下各个存储引擎:

         InnoDB:是MySql 5.5版本以后默认的存储引擎,也是目前Mysql引擎中支持高并发事务控制的引擎。其优点是支持事务、行级锁、外键等功能,缺点是写速度相对较慢。

         MyISAM:是MySql 5.5版本以前默认的存储引擎,也是MySql最早提供的存储引擎。其优点读效率很高,缺点是它不支持事务和外键。对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。

         MyISAM引擎根据存储格式又可分为以下3种类型:

         (1)静态MyISAM:如果数据表中的各数据列的长度都是预先固定好的,服务器将自动选择这种表类型。因为数据表中每一条记录所占用的空间都是一样的,所以这种表存取和更新的效率非常高。当数据受损时,恢复工作也比较容易做。

         (2)动态MyISAM:如果数据表中出现varchar、xxxtext或xxxBLOB字段时,服务器将自动选择这种表类型。相对于静态MyISAM,这种表存储空间比较小,但由于每条记录的长度不一,所以多次修改数据后,数据表中的数据就可能离散的存储在内存中,进而导致执行效率下降。同时,内存中也可能会出现很多碎片。因此,这种类型的表要经常用optimize table 命令或优化工具来进行碎片整理。

         (3)压缩MyISAM:以上说到的两种类型的表都可以用myisamchk工具压缩。这种类型的表进一步减小了占用的存储,但是这种表压缩之后不能再被修改。另外,因为是压缩数据,所以这种表在读取的时候要先时行解压缩。

         MRG_MYISAM这种类型是MyISAM类型的一种变种。合并表是将几个相同的MyISAM表合并为一个虚表。常应用于日志和数据仓库。

         MEMORY(HEAP):这种类型的数据表只存在于内存中。它使用散列索引,所以数据的存取速度非常快。因为是存在于内存中,所以这种类型常应用于临时表中。

         DBD:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。

         CVS:把数据以逗号分隔的格式存储在文本文件中。

         Archive:这种类型只支持select 和 insert语句,而且不支持索引。常应用于日志记录和聚合分析方面。

 

三、MySql引擎操作:

       (1)看你的MySQL现在已提供什么存储引擎: mysql> show engines;

       (2)看你的MySQL当前默认的存储引擎: mysql> show variables like '%storage_engine%';

 

       (3)你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎): mysql> show create table 表名;

        (4)创建数据库表时设置存储存储引擎的基本语法是:

Create table tableName(columnName(列名1)  type(数据类型)  attri(属性设置),……..)

engine = engineName

        (5)修改存储引擎,可以用命令:Alter table tableName engine =engineName

 

 

 

分享到:
评论

相关推荐

    mysql中的表引擎

    3. **ISAM** 是较早的MySQL引擎,主要用于简单查询,不支持事务处理、外键和索引,现在已经被MyISAM取代。 4. **Heap** 或Memory引擎,将数据存储在内存中,提供极高的读写效率,但数据的持久性较差,一旦MySQL服务...

    mysql引擎及索引讲解

    ### MySQL引擎及索引详解 #### 一、MySQL数据库引擎概览 数据库引擎作为数据库管理系统的核心组成部分,在存储、处理和保护数据方面起着至关重要的作用。通过这些引擎,我们可以实现对数据的有效管理,确保数据的...

    MySQL存储引擎解析.doc

    MySQL存储引擎是数据库管理系统的核心组成部分,负责数据的存储和访问方式。MySQL系统由多个组件构成,包括管理工具、连接池、SQL接口、分析器、优化器、缓存、存储引擎和硬盘。其中,存储引擎是专门处理表数据的...

    .net使用MYSQL数据库引擎

    若何用mysql-connector-net-6.2.2.rar 来进行mysql数据库数据调用的详细使用方法,亲自测试通过。比.net自带引擎访问数据效率高。

    服务器突然断电,重启后找不到mysql.sock文件、innodb引擎表(日志表)损坏.md

    服务器断电后重启,导致MySQL连接失败。mysql.sock文件丢失,innodb引擎表损坏,最直接的解决办法。

    关于MySQL不同引擎使用简介

    MySQL是一种广泛使用的开源关系型数据库管理系统,其灵活性之一在于提供了多种数据库引擎供用户选择,以适应不同的应用场景。本文将详细介绍MySQL的五种...正确地选择和配置MySQL引擎,是优化数据库性能的关键步骤。

    mysql-存储引擎-实验四.docx

    MySQL 存储引擎实验报告 本实验报告的主要内容是了解 MySQL 存储引擎的概念、设置和特点,并掌握 MySQL 存储引擎的使用方法。实验中涉及到多种存储引擎,包括 MyISAM 和 InnoDB,考察它们的相同点和区别,并对它们...

    企业级MySQL优化(从引擎为你介绍怎么优化、集群方案)

    对于MySQL引擎的选择,不同的引擎有着各自的优缺点。InnoDB是默认引擎,支持事务处理和行级锁定,适合并发操作。MyISAM则速度较快,但不支持事务,适用于读取密集型应用。其他如Memory引擎用于临时存储,而Archive...

    MySQL存储引擎简介

    MySQL存储引擎是数据库管理系统中负责数据存储和索引管理的核心组件,它允许MySQL数据库系统在不同的存储需求下灵活选择最优的存储方案。在众多数据库系统中,MySQL独树一帜,提供了多种存储引擎供用户选择,使得...

    mysql存储引擎介绍

    MySQL 存储引擎详解 MySQL 存储引擎是 MySQL 数据库管理系统中的一种机制,用于管理和存储数据。 MySQL 提供了多种存储引擎,每种引擎都有其特点和优缺。了解 MySQL 存储引擎的特点和优缺是非常重要的,因为它们...

    用纯PHP编写MySQL引擎-PHP开发

    PHP MySQL引擎这是Scott Sandler创建的Slack的Hack SQL FakePHP端口。 PHP MySQL Engine是PHP的单元测试库。 它可以使用MySQL的内存模拟来测试数据库驱动的应用程序。 它支持各种查询,事务等。 该项目扩展了PDO类,...

    php-mysql-engine:用纯PHP编写MySQL引擎

    PHP MySQL引擎PHP MySQL Engine是PHP的库,可让您使用MySQL 5.6的内存模拟来测试数据库驱动的应用程序。 该项目扩展了PDO类,并允许您调用常见的PDO MySQL方法。 它支持各种查询以及某些PDO特定的功能,例如事务和...

    MySQL从入门到高级系列视频.zip

    13.MySQL引擎MyISAM与InnoDB讲解.mp4 14.MySQL数据库索引及慢查询讲解.mp4 15.MySQL数据库高效优化解析.mp4 16.构建MySQL+keepalived高可用自动切换.mp4 17.构建MySQL+DRBD+Keepalived高可用集群.mp4

    MySQL内核:InnoDB存储引擎 卷1.pdf

    《MySQL内核:InnoDB存储引擎 卷1》由资深MySQL专家,机工畅销图书作者亲自执笔,在以往出版的两本InnoDB介绍性图书的基础之上,更深入地介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的...

    MySQL数据库引擎快速指导

    MySQL数据库引擎是数据库管理系统的核心组件,它决定了数据的存储方式、访问效率以及支持的功能。MySQL提供了多种数据库引擎供用户根据具体需求选择,每种引擎都有其特定的优势和适用场景。 默认情况下,MySQL安装...

    mySql 存储引擎 启用 Innodb

    ### MySQL存储引擎启用InnoDB详解 #### 一、引言 在MySQL数据库系统中,存储引擎扮演着极其重要的角色,它决定了数据如何被存储、检索和管理。其中,InnoDB作为MySQL中最常用的存储引擎之一,提供了众多高级特性,...

    MySQL面试知识点.docx

    MySQL 是一个广泛使用的关系型数据库管理系统,本文总结了 MySQL 面试中常见的知识点,涵盖了 MySQL 优化、MySQL 引擎、索引、锁等方面的内容,旨在帮助开发者更好地理解和掌握 MySQL 的相关知识。 一、MySQL 优化 ...

Global site tag (gtag.js) - Google Analytics