热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库技术:mysql的存储引擎

mysql支持的存储引擎一:查询数据库支持的存储引擎执行:showengines;说明engine:引擎名称。suppot:是否支持。comment:说明。transactions

mysql支持的存储引擎

一:查询数据库支持的存储引擎

执行:  show engines;

mysql的存储引擎

说明

  engine:引擎名称。

  suppot:是否支持。

  comment:说明。

  transactions:是够支持事务。

  xa:是否支持xa事务。

  savepoints:是否支持保存savepoints之间的内容。

 

二:常用的引擎的介绍(常用的myisam和innodb)

.frm文件         //存储表结构的,任何存储引擎都具备的。

1:myisam

   mysql5.5之前默认的存储引擎,由myd和myi组成。

  查看数据库的data目录/数据库名称/,在查找相对应的表名。

  frm,myd,myi这三个结尾的文件。

  .myd  //数据库文件

  .myi  //索引文件  又叫非聚集索引

 

  特性:

    并发性与锁级别-表解锁

    支持全文索引

    支持数据压缩   命令:进入到mysql的bin文件夹, .myisampack.exe -b -f “需要压缩的test.myi地址” (此命令实在windows运行)。

    运行完以后,会出现一个以old结尾的文件,删除old可能会出现问题。需要恢复 check table 表名,repair table 表名      

  

  适用场景:

    非事务的类型

    只读类应用,读取数据的速度快

    空间类型(坐标,空间函数)

 

2:innodb

  mysql5.5以后默认的存储引擎,innodb_file_per_table  on:表示独立表空间,off:表示系统表空间。5.6之前是系统表空间,之后为独立表空间。

  独立表空间:.frm .ibd  存储数据+索引。 可以通过 optimize table 表名 .ibd收缩数据文件,同时可以向多个文件刷新数据。

  系统表空间:.frm是放在数据库的文件下的。 .ibdata1是放在data文件夹下的,表公用的,会产生io的瓶颈。 系统表空间无法简单的收缩文件大小

  

  建议使用独立表空间。

 

  特性:

    是一种事务性存储引擎。完全支持事务的acid特性。执行行级锁,并发程度高。redo log和undo log。

  适用场景:

    大多数的oltp应用。

 

  比较

  mysql的存储引擎

 

 

3:csv

  数据以文本方式存储,表的字段不能为空,不能有主键。

  .frm , .csv数据的内容, .csm存储表的元数据 。

  使用文本编辑器可以直接编辑.csv数据,然后保存,在数据库里面执行flush  tables;

  注:要在最后一行数据回车一下,要不然最后一条数据不展示。

  在excel里面操作提示兼容性问题,无法操作成功,编辑完以后修复一下,可能是excel版本的问题吧。

  特点:

    以csv格式进行数据存储,所有列的字段都不能为null,不支持索引,可以对数据文件在线编辑。

 

4:archive

  以zlib对表数据进行压缩,磁盘i/o更少,数据存储在.arz。

  .frm , .arz数据的内容。

  特点:

    只支持insert和select操作,只允许在自增id列上加索引。

  使用场景:

    日志和数据采集应用

 

5:memory

  在data文件夹里面只有一个frm。

  数据保存在内存中,支持hash索引和btree索引,所有字段都是固定的长度varchar(10)=char(10),不支持blog和text等字段

  使用表级索,最大有max_heap_table_size 决定。 重启会丢失数据。

  在系统使用临时表的时候,超过限制会使用myisam,未超过的时候使用memory

  

  临时表:在同一个session(会话)里面,才能使用。重启服务会丢失数据。

 

  应用场景:mysql后台服务使用memory

 

 

6:federated

  访问远程的数据库表,本地只保存数据库结构和连接信息,数据保存在远程的服务器中。在本地只保存.frm

  默认不是开启的引擎,在my.ini  增加 federated=1,重启。

  

  只能用命令创建。create table ‘aaa’(里面的字段,要和连接的服务器一样) engine=federated cOnnection=’mysql://用户名:密码@地址:ip/数据库名/表名’

 

需要了解更多数据库技术:mysql的存储引擎,都可以关注数据库技术分享栏目—编程笔记


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 先看一段错误日志:###Errorqueryingdatabase.Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransie ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
author-avatar
路路
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有