首页 > 数据库 >Java面试八股之MySQL存储引擎都有哪些

Java面试八股之MySQL存储引擎都有哪些

时间:2024-07-06 12:27:56浏览次数:16  
标签:八股 Java 存储 索引 引擎 MySQL 服务器 数据

  1. MySQL存储引擎都有哪些

MySQL提供了多种存储引擎,每种引擎都有其独特的特性和用途。以下是一些常用的MySQL存储引擎:

InnoDB

默认存储引擎(自MySQL 5.5版本起)。

支持事务(ACID属性)、行级锁定和外键约束。

使用B+树作为索引结构。

适合需要高并发的事务处理和高可靠性的场景。

MyISAM

MySQL早期的默认存储引擎。

不支持事务,但提供了高速的表和全文索引。

使用表级锁定,适合读取密集型的应用。

已经在新项目中逐渐被InnoDB取代。

MEMORY (HEAP)

将表存储在内存中,提供极快的访问速度。

不持久化数据,重启后数据丢失。

主要用于临时表和高速缓存。

ARCHIVE

专为压缩和存储大量只读数据设计。

支持单列索引,非常适合日志存储。

数据被压缩存储,节省磁盘空间。

CSV

存储数据为逗号分隔的值格式。

没有索引支持,适用于简单的数据导出和导入。

BLACKHOLE

任何写入此引擎的数据都会被丢弃,主要用于复制中继。

FEDERATED

允许在远程服务器上查询数据,相当于在本地表中查询。

需要在配置中启用。

MERGE

合并多个MyISAM表作为一个表使用,便于管理和查询。

PERFORMANCE_SCHEMA

提供了关于服务器运行时状态的信息,用于性能监控和诊断。

NDDB (NDBCluster)

分布式存储引擎,用于高可用性和高并发的环境。

TokuDB

第三方存储引擎,基于Fractal Tree索引,提供更好的压缩和写入性能。

这些存储引擎提供了不同的功能集和性能特征,可以根据具体的应用场景和需求选择最适合的存储引擎。在MySQL中,存储引擎可以在创建表时指定,也可以在服务器级别设定默认引擎。注意,不是所有的存储引擎在所有版本的MySQL中都是可用的,有些引擎可能需要额外安装或在编译MySQL时启用。

 如果大家需要视频版本的讲解,欢迎关注我的B站:

标签:八股,Java,存储,索引,引擎,MySQL,服务器,数据
From: https://blog.csdn.net/u012151345/article/details/140206377

相关文章

  • Java计算机毕业设计信阳市多目的地同步导航系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信阳市城市化进程的加快,交通网络日益复杂,市民出行需求日益多样化,对导航系统的要求也愈发提高。传统单一目的地的导航系统已难以满足市民在日常出......
  • MySQL 命名使用规范
    在数据库设计和开发过程中,命名规范是确保数据库结构清晰、易于维护和扩展的关键因素之一。良好的命名规范可以提高代码的可读性、可维护性和团队协作效率。本文将详细介绍MySQL数据库的命名使用规范,包括数据库、表、列、索引、约束、存储过程、函数、视图和触发器等方面的命名......
  • 每天一道Java面试题系列之--Spring事务的实现原理
    面试题描述Spring事务的实现原理,并解释以下概念:PlatformTransactionManager 接口的作用是什么?什么是事务的传播行为?声明式事务和编程式事务有什么区别?@Transactional 注解是如何工作的?题解1. PlatformTransactionManager 接口PlatformTransactionManager是Spring事务......
  • Mysql 索引
     在MySQL中,索引是一种数据结构,它能够帮助快速查找和检索表中的记录,从而提高查询性能。索引在数据库中类似于书籍的目录,可以快速定位到所需的内容。下面是关于MySQL索引的详细介绍,包括其概念、类型、如何使用以及如何在建表时指定索引。什么是索引索引是存储在数据库中的一......
  • Mysql 8.4 安装(Centos7.9)
    前置准备root环境下执行#关闭selinuxvi/etc/selinux/config#SELINUX=enforcing=>SELINUX=disabled#开通防火墙3306/tcpfirewall-cmd--permanent--add-port=3306/tcp下载链接获取https://dev.mysql.com/downloads/file/?id=529414下载&安装下载mkdir-p......
  • 【Java基础】--线程(二)
    5. Thread类中常用的一些方法5.1线程休眠方法publicclassMyThreadextendsThread{​ @Override publicvoidrun(){   for(inti=0;i<20;i++){     try{       //秒杀---       Thread.s......
  • java08
    面相对象编程对于复杂的实务,为了从宏观上把握,从整体上合理分析,我们需要面向对象的思路,在微观上,我们仍要面向过程编程本质,以类的方式组织代码,以对象组织数据三大特性:封装、继承、多态抽象对象静态方法拥有static的方法,可以直接通过类名来调用,和类一起加载非静态方法没有st......
  • Java--Super
    1.super调用父类的构造方法,必须在构造方法的第一个2.super必须只能出现在子类的方法或者构造方法中3.super和this不能同时调用构造该方法和this差别1.代表的对象不同    this():代指本身调用者这个对象    super():代表父类对象的应用2.前提    this......
  • mysql 模糊查询
     _表示单个字符SELECT*FROMemployeesWHEREfirst_nameLIKE"___e%";SELECT*FROMemployeesWHEREfirst_nameLIKE"____";查询以J开头,a结尾SELECT*FROMemployeesWHEREfirst_nameLIKE"J%";SELECT*FROMemployeesWHEREfirst_name......
  • linux下mysql安装、授权、创建用户、连接navicat、连接entity
    1.linux下安装mysql:sudoapt-getupdatesudoapt-getinstallmysql-serversudosystemctlstartmysqlsudomysql_secure_installation#这一步不是必须的,甚至有害的2.授权usemysql;updateusersethost='%'whereuser='root';flushprivileges;grantall......