首页
学习
活动
专区
圈层
工具
发布

mysql 指定引擎

MySQL 指定引擎

基础概念

MySQL 是一个关系型数据库管理系统,它支持多种存储引擎。存储引擎决定了数据如何存储、检索以及事务如何处理。MySQL 提供了多种存储引擎,如 InnoDB、MyISAM、Memory 等,每种引擎都有其特定的优势和适用场景。

相关优势

  1. InnoDB
    • 优势:支持事务处理、行级锁定、外键约束、崩溃恢复。
    • 适用场景:适用于需要高并发、事务处理和数据完整性的应用,如电子商务、金融系统等。
  • MyISAM
    • 优势:读取速度快,占用空间少,不支持事务。
    • 适用场景:适用于读取频繁、写入较少且不需要事务支持的应用,如数据仓库、日志记录等。
  • Memory
    • 优势:数据存储在内存中,读写速度极快。
    • 适用场景:适用于临时表、缓存数据等需要高速读写的场景。

类型

  • InnoDB:默认引擎,支持事务和外键。
  • MyISAM:不支持事务,但读取速度快。
  • Memory:数据存储在内存中,适用于临时表。
  • 其他引擎:如 Archive、CSV、Federated 等,各有其特定用途。

应用场景

  • InnoDB:适用于大多数业务场景,特别是需要事务支持和数据完整性的应用。
  • MyISAM:适用于读取频繁但写入较少的场景,如数据仓库。
  • Memory:适用于需要高速读写的临时表和缓存。

如何指定引擎

在创建表时,可以通过 ENGINE 关键字指定存储引擎。例如:

代码语言:txt
复制
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
) ENGINE=InnoDB;

或者在修改现有表时指定引擎:

代码语言:txt
复制
ALTER TABLE users ENGINE=MyISAM;

遇到的问题及解决方法

问题:为什么在创建表时指定了 InnoDB 引擎,但实际使用的是 MyISAM?

原因

  1. 默认引擎设置:MySQL 服务器的默认存储引擎可能被设置为 MyISAM。
  2. 配置文件:MySQL 配置文件(如 my.cnfmy.ini)中的 default-storage-engine 设置可能被修改。

解决方法

  1. 检查默认引擎设置
  2. 检查默认引擎设置
  3. 或者
  4. 或者
  5. 修改配置文件: 打开 MySQL 配置文件(如 my.cnfmy.ini),找到 default-storage-engine 设置,并将其修改为 InnoDB
  6. 修改配置文件: 打开 MySQL 配置文件(如 my.cnfmy.ini),找到 default-storage-engine 设置,并将其修改为 InnoDB
  7. 修改后重启 MySQL 服务器。
  8. 手动指定引擎: 在创建表时始终显式指定引擎:
  9. 手动指定引擎: 在创建表时始终显式指定引擎:

通过以上方法,可以确保在创建表时使用指定的存储引擎。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySQL有哪些存储引擎(MySQL存储引擎大全)

MyISAM在所有MySQL版本里被支持;不支持事务处理;它是MySQL的默认的存储引擎; MEMORY MEMORY存储引擎,别称HEAP存储引擎;提供“内存中”表,将数据存储在内存中。...MEMORY存储引擎不支持事务处理;MySQL的所有版本都支持InnoDB存储引擎;注释:MEMORY存储引擎正式地被确定为HEAP引擎。...InnoDB存储引擎;它支持事务处理; BDB BDB存储引擎,别名BERKELEYDB;BDB存储引擎提供事务安全表;mysql 5.1以下版本才支持此存储引擎; EXAMPLE EXAMPLE存储引擎是一个...你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。...NDB NDB存储引擎,别名NDBCLUSTER;NDB Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。

8.4K41
  • MySQL InnoDB引擎

    # MySQL InnoDB引擎 逻辑存储引擎 架构 概述 内存架构 磁盘结构 后台线程 事务原理 事务基础 redo log undo log MVCC 基本概念 隐藏字段 undolog readview...# 架构 # 概述 MySQL5.5 版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。下面是InnoDB架构图,左侧为内存结构,右侧为磁盘结构。...MySQL的innoDB引擎中虽然没有直接支持hash索引,但是给我们提供了一个功能就是这个自适应hash索引。...创建表时指定表空间 CREATE TABLE xxx ......那实际上,我们研究事务的原理,就是研究MySQL的InnoDB引擎是如何保证事务的这四大特性的。 而对于这四大特性,实际上分为两个部分。

    2.3K10

    【MySQL 系列】MySQL 引擎篇

    1、MySQL 引擎介绍 1.1、MySQL 引擎介绍 存储引擎是 MySQL 的组件,用于处理不同表类型的 SQL 操作。...MySQL引擎的作用包括但不限于以下几个方面: 存储数据:MySQL 引擎负责将数据存储在物理存储介质上,包括硬盘或固态硬盘等。它将数据组织成表、索引等结构,并提供对这些数据的高效访问方式。...1.2、常见引擎及其区别和特点 MySQL支持多种不同类型的存储引擎,每种引擎都有其自身的特点和适用场景。...以下是 MySQL 支持的一些常见引擎及其区别和特点: ① InnoDB: InnoDB 是 MySQL 默认的事务安全引擎,提供了对事务的支持,包括 ACID(原子性、一致性、隔离性、持久性)特性。...from database where name="tablename" 1.3.2、设置存储引擎 -- 建表时指定存储引擎。

    69110

    MySQL 存储引擎

    # MySQL 存储引擎 学习视频地址 (opens new window) MySQL 体系结构 存储引擎介绍 存储引擎特点 InnoDB MyISAM Memory 区别及特点 存储引擎选择 #...存储引擎是基于表的,而不是 基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果 没有指定将自动选择默认的存储引擎。...建表时指定存储引擎 CREATE TABLE 表名( 字段1 字段1类型 [ COMMENT 字段1注释 ] , .........,以及如何在建表时如何指定存储引擎,接下来我们就来介绍下来上面 重点提到的三种存储引擎 InnoDB、MyISAM、Memory的特点。...# InnoDB 介绍 InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB是默认的 MySQL 存储引擎。

    3.4K20

    【MySQL】存储引擎

    目录 1.MySQL体系结构 2.存储引擎介绍 3.存储引擎特点 4.存储引擎选择 1.MySQL体系结构 MySQL整体的逻辑结构可以分为4层,客户层、服务层、存储引擎层、数据层 客户层 客户层:进行相关的连接处理...触发器、视图等也在这一层 存储引擎层 存储引擎层负责对数据的存储和提取,常见的存储引擎有InnoDB、MyISAM、Memory等,在 MySQL5.5之后,MySQL默认的存储引擎就是InnoDB,InnoDB...我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的 存储引擎 1)....建表时指定存储引擎 CREATE TABLE 表名( 字段1 字段1类型 [ COMMENT 字段1注释 ] , .........存储引擎特点 上面我们介绍了什么是存储引擎,以及如何在建表时如何指定存储引擎,接下来我们就来介绍下来 上面重点提到的三种存储引擎 InnoDB 、 MyISAM 、 Memory 的特点。

    4.3K21

    MySQL存储引擎

    文章目录 MySQL存储引擎 一、查看修改存储引擎 二、主要引擎介绍 1、MyISAM引擎 2、InnoDB 引擎 3、MEMORY 引擎 MySQL存储引擎 一、查看修改存储引擎 查看mysql提供什么存储引擎...systemctl restart mysqld.service 创建表时指定存储引擎: CREATE TABLE 表名( 建表语句; ) ENGINE = 存储引擎名称; 修改表的存储引擎: ALTER...SQL的查询速度 外键:子表的字段依赖父表的主键,设置两张表的依赖关系 事务:多个SQL语句,保证它们共同执行的原子操作,要么成功,要么失败,不能只成功一部分,失败需要回滚事务 索引缓存和数据缓存:和MySQL...存储表结构(MySQL8.0时,合并在表名.ibd中) 表名.ibd 存储数据和索引 注:索引采用聚集索引,索引和数据存储在同一个文件 对比MyISAM: 对比MyISAM的存储引擎, InnoDB写的处理效率差一些...并且会占用更多的磁盘空间(数据和索引是一体的,MyISAM是数据和索引分离的) MyISAM只缓存索引,不缓存真实数据;InnoDB不仅缓存索引还要缓存真实数据, 对内存要求较高 ,而且内存大小对性能有决定性的影响 注:MySQL5.5

    3.6K40

    mysql 引擎概述

    什么是Mysql 引擎存储引擎是Mysql的组件,用于处理Mysql不同类型的表操作。...Innodb是默认的,最普遍的存储引擎,oracel建议建表时候建议使用除非有特殊需求(create table语法在Mysql5.7中默认创建的是一个Innodb引擎的表)Mysql服务使用可拔插的存储引擎架构...Mysql5.7支持的存储引擎InnoDB:: 是Mysql5.7默认的执行引擎,是一个事务安全(符合acid标准)存储引擎,有提交,回滚,容灾恢复的能力来保护用户数据。...您可以使用该引擎创建表格,但不能在其中存储数据,也不能从中检索数据。在整个服务器或模式中使用相同的存储引擎并不受限制。 您可以为任何表指定存储引擎。...4.引擎适用场景Mysql 提供的各种存储引擎在设计时考虑了不同的使用情况。 下表概述了 Mysql 提供的一些存储引擎,表后附有说明。

    72410

    Mysql存储引擎

    前言 MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应的引擎。MySQL支持的存储引擎有很多,常用的是:InnoDB,MyISAM。...:  查看Mysql数据库的默认引擎指令: show variables like '%storage_engine%'; 1.1 InnoDB InnoDB存储引擎是Mysql的默认引擎。...外键约束 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候,也会自动的创建对应的索引。...; insert into sun_innodb values(null,'BeiJing',1),(null,'NewYork',2),(null,'ShangHai',1); 在添加索引时,可以指定删除...insert into student_all values(3,'幸运'); 总结 对于存储引擎的选择,根据业务需求对应各个存储引擎的特征进行选择即可。

    1.6K20

    Mysql存储引擎

    当别人问我Mysql的存储引擎的时候,我就知道Myisam和innodb 虽然知道有其他的存储引擎,但是从来没有去了解过今天了解一下扩充知识 查看Mysql的存储引擎 show engines; MyISAM...Mysql 5.5之前默认的存储引擎 MyISAM存储引擎由MYD和MYI组成 ?  ...适用场景: 非事物型应用(数据仓库,报表,日志数据) 只读类应用 空间类应用(空间函数,坐标) INNODB MySql5.5以及以后版本默认的存储引擎 innodb_file_per_table   ...特点:   提供了远程访问Mysql服务器上的表的方法   本地不存储数据,数据全部放到远程服务器上   本地需要保存表结构和远程服务器的链接信息  使用场景:   偶尔的统计分析及手工查询 这个存储引擎默认是不开启的如果需要使用需要手动开启...是不是感觉知识扩充了一些, 作者:彼岸舞 时间:2020\07\05 内容关于:Mysql 本文来源于网络,只做技术分享,一概不负任何责任

    4.4K20

    MySQL Memory引擎

    InnoDB引擎的表我们在执行全表查询的时候,Mmeory引擎的表返回结果0在最后一行,而InnoDB引擎的表0在第一行。...InnoDB引擎索引的组织方式是B+树,是有序存储,在执行select *的时候会从主键索引的叶子节点从左到右扫描,所以0出现在第一行。...InnoDB和Memory引擎的数据组织方式 InnoDB引擎把数据存储在主键索引上,其他索引上保存的是主键id,该方式称之为索引组织表 Memory引擎把数据单独存放,索引上保存的是数据的位置,该方式称之为堆组织表...InnodDB引擎和Memory引擎的不同 InnoDB数据总是有序存放,Memory引擎表的数据是按照写入顺序存放 数据文件有空洞时,InnoDB表在插入新数据时为保证有序性,只能在固定的位置写入新值...由于MySQL知道重启后内存表数据会丢失,所以在担心主库重启后,出现主备不一致,MySQL会在数据库重启以后往binlog中写一条TRUNCATE TABLE 库名.memeory表名。

    1.2K20
    领券