mysql存储引擎(二)_MySQL

mysql存储引擎(二)

mysql存储引擎二 memory merge berkeleydb存储引擎

MEMORY

MEMORY存储引擎通过采用内存中的内容来创建表。每个Memory表实际上和一个磁盘文件关联起来,文件名采用”表名.frm”的格式。Memory类型的表访问速度极快,因为数据源来自内存,所以数据库关闭时,内存中的数据就会发生丢失。默认使用Hash索引。

mysql> create table memory_table( id int primary key, name varchar(20) )engine=memory;Query OK, 0 rows affected (0.02 sec)mysql> insert into memory_table(id,name) values(2,'frank');Query OK, 1 row affected (0.00 sec)mysql> select * from memory_table;+----+-----------+| id | name      |+----+-----------+|  1 | frankstar ||  2 | frank     |+----+-----------+2 rows in set (0.00 sec)mysql> show table status like 'memory_table' G;*************************** 1. row ***************************           Name: memory_table         Engine: MEMORY        Version: 10     Row_format: Fixed           Rows: 2 Avg_row_length: 66    Data_length: 127008Max_data_length: 12582900   Index_length: 126992      Data_free: 0 Auto_increment: NULL    Create_time: 2016-05-09 22:23:47    Update_time: NULL     Check_time: NULL      Collation: utf8_bin       Checksum: NULL Create_options:        Comment:1 row in set (0.00 sec)ERROR:No query specifiedmysql> show index from memory_table G;*************************** 1. row ***************************        Table: memory_table   Non_unique: 0     Key_name: PRIMARY Seq_in_index: 1  Column_name: id    Collation: NULL  Cardinality: 2     Sub_part: NULL       Packed: NULL         Null:   Index_type: HASH      Comment:Index_comment:1 row in set (0.00 sec)ERROR:No query specified

memory表的内存储存在内存中,如果表的数据很大,那么服务器将会自动将其转换为磁盘表,阀值由temp_table_size系统变量来确定。每个memory表的容量由max_heap_table_size变量的值控制。默认16MB。
主要用于数据内容变化不频繁的代码表及访问速度要求较高、数据量不大的场合,同时需要考虑更新操作数据不回写入到磁盘文件中。

MERGE

它实际上是一组myisam表的组合,将一组结构相同的MyISAM表组合在一起,MERGE表本身没有数据,对于该类型表的插入操作,是通过INSERT_METHOD定义完成的,取值为LAST或者为FIRST,FIRST意味着数据增加到组合表中的第一个myisam表中,同理LAST意味着添加到最后一个表中。所以MERGE表的文件有2个,一个是.frm文件,用于存放数据,还有一个MRG文件,用于存放MERGE表的名称,包括其组成表。

如下:

mysql> create table myisam_table1(    -> id int primary key,    -> data datetime    -> )engine=myisam;Query OK, 0 rows affected (0.02 sec)create table myisam_table2( id int primary key, data datetime )engine=myisam;Query OK, 0 rows affected (0.01 sec)mysql> create table table1_merge_table2(    -> id int primary key,    -> data datetime    -> )engine=merge union=(myisam_table1,myisam_table2) insert_method=first;Query OK, 0 rows affected (0.01 sec)

向2个字表分别添加数据,如下:

mysql> insert into myisam_table1 values(1,'2016-5-7');Query OK, 1 row affected (0.00 sec)mysql> insert into myisam_table1 values(2,'2016-5-6');Query OK, 1 row affected (0.00 sec)mysql> insert into myisam_table2 values(1,'2016-5-7');Query OK, 1 row affected (0.00 sec)mysql> insert into myisam_table2 values(2,'2016-5-6');Query OK, 1 row affected (0.00 sec)

查询merge表,如下:

极品模板微商城订单系统 极品模板微商城订单系统

微商城订单管理系统是一款基于php+mysql开发的php订单管理系统,她的特点如下: 产品特色: 支持商品规格、订单短信提醒,订单提交限制,站外调用, 批量发货/导出,数据报表,物流轨迹、免签支付等。 1、高度开源:除核心授权文件外全部开源,二开方便。 2、分布式部署:支持分布式部署、支持数据库读写分离。 3、第三方存储:支持附件腾讯云、阿里云、七牛云存储

极品模板微商城订单系统 22 查看详情 极品模板微商城订单系统

mysql> select * from table1_merge_table2;+----+---------------------+| id | data                |+----+---------------------+|  1 | 2016-05-07 00:00:00 ||  2 | 2016-05-06 00:00:00 ||  1 | 2016-05-07 00:00:00 ||  2 | 2016-05-06 00:00:00 |+----+---------------------+4 rows in set (0.01 sec)

向merge表中添加一条数据,如下:

mysql> insert into table1_merge_table2 values(3,'2016-5-8');Query OK, 1 row affected (0.00 sec)mysql> select * from table1_merge_table2;+----+---------------------+| id | data                |+----+---------------------+|  1 | 2016-05-07 00:00:00 ||  2 | 2016-05-06 00:00:00 ||  3 | 2016-05-08 00:00:00 ||  1 | 2016-05-07 00:00:00 ||  2 | 2016-05-06 00:00:00 |+----+---------------------+5 rows in set (0.00 sec)mysql> select * from myisam_table1;+----+---------------------+| id | data                |+----+---------------------+|  1 | 2016-05-07 00:00:00 ||  2 | 2016-05-06 00:00:00 ||  3 | 2016-05-08 00:00:00 |+----+---------------------+3 rows in set (0.00 sec)mysql> select * from myisam_table2;+----+---------------------+| id | data                |+----+---------------------+|  1 | 2016-05-07 00:00:00 ||  2 | 2016-05-06 00:00:00 |+----+---------------------+2 rows in set (0.00 sec)

INSERT_METHOD的指定起作用了,如果没有指定,那么当试图往Merge表中insert数据时,都会发生错误。通常使用merge表来透明的对多个表进行查询和更新。

BerkeleyDB存储引擎

简称BDB,创建该类型的表时,会有2个数据文件,一个.frm文件存储表元数据,另一个.db文件存储数据和索引文件,类似innodb。它的实现事务安全有redo日志。在每次启动的时候,都会做一次检查操作,将所有的redo日志清空。它和Memory引擎一样,都是页级锁定。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1042888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 05:11:00
下一篇 2025年12月2日 05:11:32

相关推荐

  • 网络进化!

    Web 应用程序从静态网站到动态网页的演变是由对更具交互性、用户友好性和功能丰富的 Web 体验的需求推动的。以下是这种范式转变的概述: 1. 静态网站(1990 年代) 定义:静态网站由用 HTML 编写的固定内容组成。每个页面都是预先构建并存储在服务器上,并且向每个用户传递相同的内容。技术:HT…

    2025年12月24日
    000
  • 为什么多年的经验让我选择全栈而不是平均栈

    在全栈和平均栈开发方面工作了 6 年多,我可以告诉您,虽然这两种方法都是流行且有效的方法,但它们满足不同的需求,并且有自己的优点和缺点。这两个堆栈都可以帮助您创建 Web 应用程序,但它们的实现方式却截然不同。如果您在两者之间难以选择,我希望我在两者之间的经验能给您一些有用的见解。 在这篇文章中,我…

    2025年12月24日
    000
  • css怎么去除表格边框

    去除方法:1、给table、th、td元素添加“border:0;”样式;2、给table、th、td元素添加“border-style:none;”样式;3、给table、th、td元素添加“border:transparent;”样式。 本教程操作环境:windows7系统、CSS3&&…

    2025年12月24日 好文分享
    000
  • css中怎么设置table边框的颜色

    css中设置table边框颜色的方法是,给table边框添加border-color属性,并且根据需要设置table边框的颜色即可,例如【border-color:#ff0000 #0000ff;】。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 在工作中我们常…

    2025年12月24日
    000
  • css如何设置table边框的颜色

    css设置table边框的颜色的方法是,给table边框添加border-color属性,并且设置属性值为需要的颜色即可,例如【border-color:#ff0000 #0000ff;】。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 要设置table边框的颜…

    2025年12月24日
    000
  • css设置table圆角边框不起作用是什么原因

    css设置table圆角边框不起作用的原因是:属性border-collapse:collapse和属性border-radius不兼容。正确方法如【border-collapse: separate;border-spacing:0】。 本文环境:windows10、css3,本文适用于所有品牌的…

    2025年12月24日
    000
  • css如何实现不显示table的边框

    css实现不显示table的边框的方法:可以利用border属性来实现,如【border:0;】。border属性用于设置所有的边框属性,如border-width,规定边框的宽度。 border 简写属性在一个声明设置所有的边框属性。 (学习视频分享:css视频教程) 可以按顺序设置如下属性: b…

    2025年12月24日
    000
  • html中表格tr的td单元格怎么设置宽度属性

    table的宽度是自适应的,而且部分TD是固定宽度。原则上应该讲table的宽度设置成一个固定的值,而不应该设置成一个根据屏幕变化的值。现在来看下如何设置表格td单元格的宽度。 例1:Table的宽度为600px,Table的td所有宽度总和不到600px,浏览器会自动按照td的宽度的比例算出宽度 …

    2025年12月24日
    000
  • CSS如何实现任意角度的扇形(代码示例)

    本篇文章给大家带来的内容是关于CSS如何实现任意角度的扇形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 扇形制作原理,底部一个纯色原形,里面2个相同颜色的半圆,可以是白色,内部半圆按一定角度变化,就可以产生出扇形效果 扇形绘制 .shanxing{ position:…

    2025年12月24日
    000
  • DIV+CSS与table有什么区别?

    本篇文章给大家带来的内容是关于DIV+CSS与table有什么区别,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 DIV+CSS是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不…

    好文分享 2025年12月24日
    000
  • 图文详解bootstrap框架中table的使用方法和相关样式

    bootstrap框架因为其使用方便,布局美观,且可以进行响应式布局,所以被广泛使用,这篇文章用bootstrap table实例和大家讲讲bootstrap中table的使用方法,以及table的相关样式,有一定的参考价值,感兴趣的朋友可以参考一下。 在使用bootstrap框架布局前,一定要先引…

    2025年12月24日 好文分享
    000
  • CSS中Table(表格)样式是如何设置?(代码实例)

    本章给大家介绍css中table(表格)样式是如何设置?(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、表格边框 border 指定CSS表格边框,使用border属性。 下面的例子指定了一个表格的Th和TD元素的黑色边框: table, th, td{border…

    2025年12月24日
    000
  • 如何用CSS属性border-collapse解决table的边框问题

    当我们在进行页面布局时,除了图片,文字之外,用的最多的就是table表格了,对于很多人来说,table的边框还是比较烦人的,我个人最讨厌看到带多层边线的表格,奇丑无比,那你知道怎么设置表格的边框吗?今天就和大家说说css中的border-collapse属性,这个属性非常的实用,但很多人还不知道,快…

    2025年12月24日
    000
  • css实现双飞翼布局的四种方法(附代码)

    本篇文章给大家带来的内容是关于css实现双飞翼布局的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 圣杯布局、双飞翼布局效果图 从效果图来看圣杯布局、双飞翼布局效果是一样一样的。圣杯布局、双飞翼布局就是左右两侧宽度固定,中间内容宽度自适应,即100% 圣杯布局 *…

    2025年12月24日
    000
  • css实现操作table列

    这次给大家带来css实现操作table列,css实现操作table列的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近在做的后台管理系统要处理大量的表格,因为原项目是采用的for循环加拼接字符串的方式实现;导致js代码一大堆;各种单引号和双引号的嵌套;让人头疼;遂引入vue.js;用v-…

    好文分享 2025年12月24日
    000
  • table tr th 及table tr td 字体太多超出怎样用CSS解决

    这次给大家带来table tr th 及table tr td 字体太多超出怎样用css解决,table tr th 及table tr td 字体太多的css的解决方法,下面就是实战案例,一起来看一下。 要比js控制性能好,但是在firfox低版本有时显示重叠加粗 table{ table-lay…

    好文分享 2025年12月24日
    000
  • 利用css解决table文字溢出控制td显示字数方法

    很多的新手朋友们会在做开发的过程中,总会遇到或多或少的问题,之前看到有人问怎么让多余的文字隐藏显示并使用…表示,今天呢,就给大家解决这个问题,直接上代码,代码如下 table{ width:100px; table-layout:fixed;/* 只有定义了表格的布局算法为fixed,下…

    好文分享 2025年12月23日
    000
  • html中怎么运行sql语句_html中运行sql语句方法【教程】

    必须通过后端服务执行SQL操作。一、PHP与MySQL交互:使用PHP脚本在服务器端连接数据库,执行查询并嵌入HTML输出,避免硬编码凭证。二、Ajax调用API:前端通过JavaScript向后端API发送请求,服务端执行SQL并返回JSON数据,前端动态渲染结果。三、SQLite与JavaScr…

    2025年12月23日
    000
  • html手机怎么运行_手机运行html方法【教程】

    1、使用手机浏览器可直接打开本地HTML文件,只需通过文件管理器点击文件并选择浏览器打开即可预览;2、借助Spck Editor等专用编辑器应用能实现实时编辑与预览,适合开发调试;3、对于含JavaScript或需服务器支持的动态内容,应安装KSWEB类应用搭建本地服务器,再通过http://loc…

    2025年12月23日
    000
  • html如何连接_连接HTML与数据库或API接口【接口】

    HTML无法直接连接数据库或调用API,需借助JavaScript fetch、PHP中转、Node.js后端或Python Flask等服务端技术实现动态数据交互。 如果您希望在网页中动态获取数据,HTML本身无法直接连接数据库或调用API接口,必须借助服务器端语言或JavaScript等客户端技…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信