热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql如何优化存储_六、mysql优化技术存储引擎选择

从本质上说,数据库就是数据的集合,具体到计算机上系统上,数据库可以是磁盘上一些文件的集合或者一些内存数据的集合。常见的MySql登数据库&

从本质上说,数据库就是数据的集合,具体到计算机上系统上,数据库可以是磁盘上一些文件的集合或者一些内存数据的集合。

常见的MySql登数据库,其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等,即帮助我们管理数据文件,而存储引擎说白了就是如何存储数据、如何为数据建立索引、如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。

mysql中可以使用show engines;命令查看服务器支持的存储引擎类型

1e2838610162a6772f566f1ebdbac945.png

可以看出,当前服务器默认的存储引擎是InnoDB,mysql5.5及以后版本默认的是InnoDB引擎,之前版本默认的是MyISAM存储引擎。

查看表使用的存储引擎

83ad3d6b341241ea87e8b7b6b3d5c9a4.png

表使用的存储引擎是MyISAM,字符集是utf8

使用show table status命令也能查看表的存储引擎

cffe29cea97990199ba9f5f01fe58269.png

存储引擎既能在创建表的时候指定,如

CREATE TABLE TABLE_NAME (

COLUMN1 ...

) engine = engine_name;

如果创建表时未指定存储引擎,则使用默认的存储引擎

也能在建完表后修改存储引擎,如

ALTER TABLE TABLE_NAME engine = engine_name;

各存储引擎比较

11e6ab32071f30c8f195bfd10c695d5e.png

其中,最常用的存储引擎是MyISAM和InnoDB

MyISAM

MyISAM存储引擎访问速度快,但不支持事务,不支持外键约束,只支持表锁,对事务完整性没有要求或者以查询为主的数据库可以选择该存储引擎。MyISAM存储引擎会在data目录(默认为安装目录下的data目录,可在安装时指定)下生成三个文件,.frm(存储表定义)、MYD(MYData,存储数据)、MYI(MYIndex,存储索引)

InnoDB

InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全,支持行锁,但是相较于MyISAM存储引擎,InnoDB写的处理效率差一些,因为需要记录事务日志,并且会占用更多的磁盘空间以保留数据和索引。InnoDB是唯一支持外键的存储引擎,可以使用set foreign_key_checks=0;临时关闭外键约束,

set foreign_key_checks=1;打开约束。默认情况下,InnoDB存储引擎会在数据目录下生成以下文件

8f735cba5643479839d2ec27cdadb4fd.png

其中ibdata1文件存储数据和索引信息,而下面两个文件存储事务信息;ibdata1是所有表共享的,mysql还能通过设置innodb_file_per_table = 1使得每张表有自己独立的存储空间

26a5f9dd54137520a1eeb6902b22a1ea.png

test表的存储引擎为InnoDB

47db4a55a8fe5670d0aab9d5afdf90a9.png

到数据目录下查看文件格式

53507766b3da818e3defc10d36d9a631.png

data目录下每个数据库会有一个目录,dept、emp、salgrade表时MyISAM存储引擎,而student、test表是InnoDB存储引擎

此外还有一种存储引擎,BLACKHOLE,黑洞存储引擎,正如show engines;命令描述的,任何写入的东西都会消失,这种存储引擎在mysql的主从复制中架构中可能会使用到。



推荐阅读
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法
    结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 智能制造数据综合分析与应用解决方案
    在智能制造领域,生产数据通过先进的采集设备收集,并利用时序数据库或关系型数据库进行高效存储。这些数据经过处理后,通过可视化数据大屏呈现,为生产车间、生产控制中心以及管理层提供实时、精准的信息支持,助力不同应用场景下的决策优化和效率提升。 ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • 数据结构与算法:HyperLogLog 统计、布隆过滤器应用、缓存机制挑战及解决方案、Redis 性能优化与监控、哨兵模式、版本控制工具 Git
    本文探讨了数据结构与算法在实际应用中的多个方面。首先介绍了HyperLogLog算法,用于高效地进行基数统计,能够准确估算大规模数据集中的唯一元素数量。接着讨论了布隆过滤器的应用,该过滤器在空间效率和查询速度上具有显著优势,适用于大数据场景下的快速成员检测。此外,文章分析了缓存机制面临的挑战及其解决方案,包括LRU和LFU等策略,并详细阐述了Redis的性能优化与监控方法,如使用哨兵模式实现高可用性。最后,介绍了版本控制工具Git的基本操作和最佳实践,帮助开发者有效管理代码版本。 ... [详细]
  • openGauss行存储核心架构及其页面组织详解
    行存储的核心架构和页面组织是实现DML操作、可见性判断及多种管理功能的基础。作为基于磁盘的存储引擎,行存储在设计上采用了段页式结构,以优化数据的存储和访问效率。这种设计不仅确保了数据的高效存储,还为行存储的各种高级功能提供了坚实的技术支持。 ... [详细]
  • 在Spring与Ibatis集成的环境中,通过Spring AOP配置事务管理至服务层。当在一个服务方法中引入自定义多线程时,发现事务管理功能失效。若不使用多线程,事务管理则能正常工作。本文深入分析了这一现象背后的潜在风险,并探讨了可能的解决方案,以确保事务一致性和线程安全。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 全面解析:Hadoop技术栈中的Linux操作系统概览
    全面解析:Hadoop技术栈中的Linux操作系统概览 ... [详细]
  • MySQL索引机制解析及其典型应用挑战
    本文深入解析了MySQL索引机制,并探讨了其在实际应用中的典型挑战。首先,介绍了数据库中常用的慢查询优化方法——添加索引。接着,详细解释了索引为何能够显著提升查询性能,尤其是通过其作为高效数据检索结构的作用,如B树索引在MySQL中的应用。此外,文章还讨论了索引设计时需要考虑的因素,以及不当使用索引可能带来的负面影响。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • Jedis接口分类详解与应用指南
    本文详细解析了Jedis接口的分类及其应用指南,重点介绍了字符串数据类型(String)的接口功能。作为Redis中最基本的数据存储形式,字符串类型支持多种操作,如设置、获取和更新键值对等,适用于广泛的应用场景。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
author-avatar
娟儿2502923263
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有