MySQL引擎讲解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

  MySQL支持三个引擎:ISAMMyISAMHEAP,根据需求不同来选择不同的引擎

  数据库的引擎到决于 MySQL 在安装的时候是如何被编译的,要添加一个新的引擎,就必须重新编译

    --with-plugins=partition,innobase


ISAM:

    读取操作速度很快,而且不占用大量的内存和存储资源

    不支持事物处理

    不能够容错

    若硬盘崩溃,将无法恢复数据


MyISAM:(默认表类型)


MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎,有如下扩展:

1)、二进制层次的可移植性。

2)、NULL列索引。

3)、对变长行比ISAM表有更少的碎片。

4)、支持大文件。

5)、更好的索引压缩。

6)、更好的键码统计分布。

7)、更好和更快的auto_increment处理。


MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务




InnoDB Berkley DB(BDB):(支持事物安全)

    支持外键

    支持行锁

    支持事务

    采用双授权:GPL和 商业授权


  适用于有大量的 update 和 insert 操作,高并发 QPS(每秒查询率) 较高 的环境


查看数据库引擎:

 

 查看现已提供存储引擎: mysql> show engines;


  查看当前默认存储引擎: mysql> show variables like '%storage_engine%';


  查看某个表用了什么引擎(在显示结果里,参数 engine 后面的参数):

            mysql> show create table 表名;

         如: mysql> show create test_db;


修改 MySQL 表空间引擎:


 设置 InnoDB 为默认引擎:

    在配置文件my.cnf 中的[mysqld] 下面加入 default-storage-engine=INNODB


 修改表引擎:

    alter table test_db  engine=myisam;

    alter table test_db  engine=innodb;


    注意:如果添加innodb 引擎报错,需删除 /mysql/data 目录下的             ib_logfile0,ib_logfile1 文件即可

本文转自   tianshuai369   51CTO博客,原文链接:http://blog.51cto.com/songqinglong/1683078


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
95
分享
相关文章
MySQL引擎InnoDB和MyISAM的区别?
InnoDB是MySQL默认的事务型存储引擎,支持事务、行级锁、MVCC、在线热备份等特性,主索引为聚簇索引,适用于高并发、高可靠性的场景。MyISAM设计简单,支持压缩表、空间索引,但不支持事务和行级锁,适合读多写少、不要求事务的场景。
90 9
mysql 引擎概述
MySQL存储引擎是处理不同类型表操作的组件,InnoDB是最常用的默认引擎,支持事务、行级锁定和外键。MySQL采用插件式存储引擎架构,支持多种引擎,如MyISAM、Memory、CSV等,每种引擎适用于不同的应用场景。通过`SHOW ENGINES`命令可查看当前MySQL实例支持的存储引擎及其状态。选择合适的存储引擎需根据具体业务需求和引擎特性来决定。
151 1
mysql 8.0 的 建表 和八种 建表引擎实例
mysql 8.0 的 建表 和八种 建表引擎实例
63 0
(十三)MySQL引擎篇:半道出家的InnoDB为何能替换官方的MyISAM?
MySQL是一款支持拔插式引擎的数据库,在开发过程中你可以根据业务特性,从支持的诸多引擎中选择一款适合的,例如MyISAM、InnoDB、Merge、Memory(HEAP)、BDB(BerkeleyDB)、Example、Federated、Archive、CSV、Blackhole.....
129 2
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
148 3
MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)
MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)
223 7
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
138 0
【MySQL系列笔记】InnoDB引擎-数据存储结构
InnoDB 存储引擎是MySQL的默认存储引擎,是事务安全的MySQL存储引擎。该存储引擎是第一个完整ACID事务的MySQL存储引擎,其特点是行锁设计、支持MVCC、支持外键、提供一致性非锁定读,同时被设计用来最有效地利用以及使用内存和 CPU。因此很有必要学习下InnoDB存储引擎,它的很多架构设计思路都可以应用到我们的应用系统设计中。
714 4
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等