精华内容
下载资源
问答
  • 导读:本篇文章是想聊聊MySQL为什么要出现存储引擎这项技术。“存储引擎”从字面理解,“存储”的意思的存储数据。“引擎”一词来源于发动机,它是发动机中的核心部分。在软件工程领域,相似的称呼有“游戏引擎”、...

    导读:本篇文章是想聊聊MySQL为什么要出现存储引擎这项技术。

    “存储引擎”从字面理解,“存储”的意思的存储数据。

    “引擎”一词来源于发动机,它是发动机中的核心部分。在软件工程领域,相似的称呼有“游戏引擎”、“搜索引擎”,它们都是相应程序或系统的核心组件。

    所以从这里可以看出“存储引擎”似乎也是数据库的核心。

    下图是市场上流行的数据库管理系统。

    30f66d66904da06b64caeddba37d8eb9.png

    存储引擎是MySQL有别于其他数据库管理系统的最大特色,比如它的兄弟Oracle中就没有专门的存储引擎的概念,仅仅有OLTP和OLAP模式的区分,两者的差别不大,只有参数设置上的不同。

    Oracle无论哪种模式都是支持事务概念的,Oracle是一个不允许读脏的数据库系统。

    回到MySQL身上,存储引擎不仅是MySQL的特色,也是作为MySQL核心的存在,那么它的作用到底是什么呢?

    我们知道关系型数据库的数据是存在表里的,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式,每个表格就是一个数据。

    表是在存储数据的同时,还要组织数据的存储结构,而这些数据的组织结构就是由存储引擎决定的。

    即存储引擎的作用就是规定了数据存储时的存储结构。

    现实生活中,由于不同业务产生了不同的数据,这些数据有的可能偏重于被频繁查询,有的要求增删速度快,有的则对事务、索引、外键有特殊规定。

    这样一来,就对存储数据的表要求使用不同的数据组织结构,也就是存储引擎。

    简而言之,就是业务直接决定了存储引擎。

    从这里就可以看出,同一个数据库内的多个表,可以使用各自符合业务的存储引擎,即存储引擎的使用级别是数据表。

    比如MySQL中MyISAM引擎不支持事务的概念,多用于数据仓库这样查询多而事务少的情况,速度较快。

    MySQL中InnoDB引擎支持事务的概念,多用于web网站后台等实时的中小型事务处理后台。

    对我们来说,MySQL提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同存储引擎,从而提高MySQL的使用性能。

    对于MySQL支持的多种存储引擎,可以通过“SHOW ENGINES”语句来查看。

    8f30db0a4fc9ab8b048bc6e8ed223da8.png

    对于日常工作来说,常用的存储引擎只有三种:默认的InnoDB、MyISAM和MEMORY。

    具体如何选择不在本文要求之中。

    总结:简单来说,存储引擎就是数据的存储结构,由实际业务决定。

    展开全文
  • 展开全部临时表的存储引擎在 MySQL 5.6 之前32313133353236313431303231363533e4b893e5b19e31333433643739,所有磁盘上的临时表都默认创建为 MyISAM 类型。临时表是在内存中,还是在磁盘上创建,具体取决于配置,并...

    展开全部

    临时表的存储引擎

    在 MySQL 5.6 之前32313133353236313431303231363533e4b893e5b19e31333433643739,所有磁盘上的临时表都默认创建为 MyISAM 类型。临时表是在内存中,还是在磁盘上创建,具体取决于配置,并在查询结束时立即删除。从 MySQL 5.7 开始,它们默认创建为 InnoDB 类型。

    新默认值可提升整体性能,大多数情况下都是最佳选择。

    可以使用新的配置项来设置临时表的存储引擎:internal_tmp_disk_storage_engine ,可选值为 InnoDB(默认)或 MyISAM。

    InnoDB 类型的临时表存在的潜在问题

    尽管使用 InnoDB 是性能最佳的,但可能会出现新的潜在问题。在某些特定情况下,您可能会出现磁盘耗尽和服务器中断。

    与数据库中的任何其他 InnoDB 表一样,临时表具有自己的表空间文件。新文件与通用表空间一起位于数据目录中,名称为 ibtmp1。它存储所有 tmp 表。不运行手动运行 OPTIMIZE TABLE,表空间文件就会不断增长。如果你不能使用 OPTIMIZE,那么唯一能将 ibtmp1 大小缩小为零的方法,就是重新启动服务器。幸运的是,即使文件无法减小,在执行查询后,临时表也会自动删除,表空间可回收使用。现在,我们想一想以下情境:存在未优化的查询,需要在磁盘上创建非常大的的临时表

    存在优化的查询,但他们正在磁盘上创建非常大的临时表,因为你正在对此数据集进行计算(统计,分析)

    高并发连接时,运行相同的查询,伴随临时表的创建

    没有很多可用空间

    在这些情况下,文件 ibtmp1 大大增加,很容易耗尽可用空间。这种情况每天发生几次,并且必须重启服务器才能完全缩小 ibtmp1 表空间。使用不可收缩的文件可以轻松耗尽磁盘空间!

    展开全文
  • APS系统是什么意思?起什么作用

    千次阅读 2020-12-19 23:48:54
    什么作用APS系统是什么意思?起什么作用?随着企业规模不断扩大,在经营管理方面会面临各种各样的问题,为了帮助解决此类问题,很多公司都会引入APS高级排程系统帮助进行生产管理的优化。那APS系统是什么意思?起...

    原标题:APS系统是什么意思?起什么作用

    APS系统是什么意思?起什么作用?随着企业规模不断扩大,在经营管理方面会面临各种各样的问题,为了帮助解决此类问题,很多公司都会引入APS高级排程系统帮助进行生产管理的优化。那APS系统是什么意思?起什么作用?

    APS系统含义:

    APS——高级计划与排程。APS可对对所有的资源进行同步以及实时监控,不论是在物料上,还是机器设备上以及人员管理、客户需求供应等,都会实现一个有效精准的生产计划,是智能制造建设的核心系统。

    APS可解决生产排程和生产调度问题,常被称为排序问题或资源分配问题。在离散行业,APS是为解决多工序、多资源的优化调度问题;而流程行业,APS则是为解决顺序优化问题。它通过为流程和离散的混合模型同时解决顺序和调度的优化问题,从而对项目管理与项目制造解决关键链和成本时间最小化,具有重要意义。

    APS系统作用:

    1.快速预测交期

    根据当前生产计划、执行情况和客户要求,合理调配订单生产优先级别,在充分考虑生产瓶颈能力的条件下,快速根据生产配制,计算出订单的交货期。计算时自动计算产能负荷,平衡产能分配,并可以用直观的方式,用图形显示产能负荷状、况,以提供订单调整的依据。

    2.快速适应订单变化

    合理化产能缓冲,为变化留下调整余地,根据变化情况,将订单变化情况包括:交货期变化、增减单变化、产品种类的变更、紧急插单。输入到系统中,利用快速自动优化计划能力重新制定生产计划,在几分钟内重新安排生产与采购供应计划。

    3.优化生产计划

    APS系统独创的核心引擎可根据优化依据,如颜色、模具、产品工艺属性等,自动对生产计划进行优化,一般可在几分钟内形成距离最优生产计划10%以内的可行计划,而一般情况下手工或ERP等系统只能达到距最优计划40%以上的效果,在自动计划的结果上,利用图形化界面进行调整,可在5分钟内形成最优生产计划。利用该功能可降低损耗3-5%以上,提高产能1-5%以上。

    4.现场管理

    通过现场进度报告与现场采集设备与软件,实现对产品质量的统计(例如废品率)、生产数量的操控,操作工监控,生产过程监控。按订单和订单物料进行生产成本累计。订单在各个生产中心上的进度统计。

    5.控制库存

    采用供应链结构原理,结合JIT(准时制造)与TOC(约束理论),指导分层级备料,在充分满足生产的情况下,极小化库存,解放流动资金。针对生产计划,自动计算协调原料和在制品供应需求,通过物料预警与提前计划,以时间缓冲代替数量缓冲的方式,在保证最低库存需求的条件下,最小化库存数量。

    APS系统可以帮助企业改善库存控制,加强生产计划与执行管理,提高企业运作管理水平,建立一种可复制可扩展的生产运营管理规范。数夫APS高级排产管理系统实现产能均衡、节拍一致,高效揉单排产,均衡生产资源,提升生产交付能力。让生产计划更合理,更高效,优化资源配置,实现家居企业精细化生产。返回搜狐,查看更多

    责任编辑:

    展开全文
  • } else{ //跳过本记录 } } 上述的伪代码虽然很粗糙,但也基本表明了意思哈~ 之后有机会我们再唠叨唠叨使用临时表的情况以及使用filesort的情况是怎么执行的。 本文经授权转载于公众号“我们都是小青蛙”(ID:...

    country varchar(100),

    PRIMARY KEY(id),

    KEYidx_name (name)

    ) Engine=InnoDBCHARSET=utf8;

    我们为hero表的id列创建了聚簇索引,为name列创建了一个二级索引。这个hero表主要是为了存储三国时的一些英雄,我们向表中插入一些记录:

    INSERTINTOhero VALUES

    (1, 'l刘备', '蜀'),

    (3, 'z诸葛亮', '蜀'),

    (8, 'c曹操', '魏'),

    (15, 'x荀彧', '魏'),

    (20, 's孙权', '吴'

    mysql> SELECT * FROM hero;

    +----+------------+---------+

    | id |name | country |

    +----+------------+---------+

    | 1 |l刘备 | 蜀 |

    | 3 |z诸葛亮 | 蜀 |

    | 8 |c曹操 | 魏 |

    | 15 |x荀彧 | 魏 |

    | 20 |s孙权 | 吴 |

    +----+------------+---------+

    5rows inset (0.00sec)

    正文

    一条语句在执行之前需要生成所谓的执行计划,也就是该语句将采用什么方式来执行(使用什么索引,采用什么连接顺序等等),我们可以通过Explain语句来查看这个执行计划,比方说对于下边语句来说:

    mysql> EXPLAIN SELECT * FROM hero WHERE name < 's孙权'AND country = '蜀';

    +----+-------------+-------+------------+-------+---------------+----------+---------+------+------+----------+------------------------------------+

    | id |select_type | table |partitions | type |possible_keys | key |key_len | ref |rows | filtered |Extra |

    +----+-------------+-------+------------+-------+---------------+----------+---------+------+------+----------+------------------------------------+

    |1| SIMPLE |hero | NULL |range | idx_name |idx_name | 303 |NULL | 2 |20.00| Using index condition; Using where |

    +----+-------------+-------+------------+-------+---------------+----------+---------+------+------+----------+------------------------------------+

    1row inset, 1warning (0.03sec)

    输出结果的key列值为idx_name,type列的值为range,表明会针对idx_name二级索引进行一个范围查询。很多同学在这里有一个疑惑:到底是一次性把所有符合条件的二级索引都取出来之后再统一进行回表操作,还是每从二级索引中取出一条符合条件的记录就进行回表一次?其实server层和存储引擎层的交互是以记录为单位的,上边这个语句的完整执行过程就是这样的:

    server层第一次开始执行查询,把条件name < 's孙权'交给存储引擎,让存储引擎定位符合条件的第一条记录。

    存储引擎在二级索引idx_name中定位name < 's孙权'的第一条记录,很显然第一条符合该条件的二级索引记录的name列的值为'c曹操'。然后需要注意,我们看到EXPLAIN语句的输出结果的Extra列有一个Using index condition的提示,这表明会将有关idx_name二级索引的查询条件放在存储引擎层判断一下,这个特性就是所谓的索引条件下推(Index Condition Pushdown,简称ICP)。很显然这里的ICP条件就是name < 's孙权'。有的同学可能会问这不就是脱了裤子放屁么,name值为'c曹操'的这条记录就是通过name < 's孙权'这个条件定位的,为啥还要再判断一次?这就是设计MySQL 的大叔的粗暴设计,十分简单,没有为啥~ 小贴士:对于使用二级索引进行等值查询的情况有些许不同,比方说上边的条件换成`name = 's孙权'`,对于等值查询的这种情况,设计MySQL的大叔在InnoDB存储引擎层有特殊的处理方案,是不作为ICP条件进行处理的。 然后拿着该二级索引记录中的主键值去回表,把完整的用户记录都取到之后返回给server层(也就是说得到一条二级索引记录后立即去回表,而不是把所有的二级索引记录都拿到后统一去回表)。

    我们的执行计划输出的Extra列有一个Using Where的提示,意味着server层在接收到存储引擎层返回的记录之后,接着就要判断其余的WHERE条件是否成立(就是再判断一下country = '蜀'是否成立)。如果成立的话,就直接发送给客户端。 小贴士:什么?发现一条记录符合条件就发送给了客户端?那为什么我的客户端不是一条一条的显示查询结果,而是一下子全部展示呢?这是客户端软件的鬼,人家规定在接收完全部的记录之后再展示而已。

    接着server层向存储引擎层要求继续读刚才那条记录的下一条记录。

    因为每条记录的头信息中都有next_record的这个属性,所以可以快速定位到下一条记录的位置,然后继续判断ICP条件,然后进行回表操作,存储引擎把下一条记录取出后就将其返回给server层。

    然后重复第3步的过程,直到存储引擎层遇到了不符合name < 's孙权'的记录,然后向server层返回了读取完毕的信息,这时server层将结束查询。

    first_read = true; //是否是第一次读取

    while(true

    if(first_read) {

    first_read = false;

    err = index_read(...); //调用存储引擎接口,定位到第一条符合条件的记录;

    } else{

    err = index_next(...); //调用存储引擎接口,读取下一条记录

    }

    if(err = 存储引擎的查询完毕信息) {

    break; //结束查询

    }

    if(是否符合WHERE条件) {

    send_data; //将该记录发送给客户端;

    } else{

    //跳过本记录

    }

    }

    上述的伪代码虽然很粗糙,但也基本表明了意思哈~ 之后有机会我们再唠叨唠叨使用临时表的情况以及使用filesort的情况是怎么执行的。

    本文经授权转载于公众号“我们都是小青蛙”(ID:womendoushixiaoqing)

    展开全文
  • div是什么意思,都有什么作用?分类:建站推广编辑:浏览量:1002021-06-25 15:04:13div是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。 div元素是用来为HTML(标准通用标记语言下的一个...
  • alt标签是什么意思,alt标签的作用及优化内容导读:关于alt标签的问题,本文重点介绍了alt标签是什么意思,以及alt标签的作用和优化方式。总之来说,alt标签的优化无论是对搜索引擎还是对用户都有好处,所以如果页面...
  • PAC是什么意思

    千次阅读 2020-12-21 23:27:24
    展开全部PAC指:控制引擎的集中,涵盖PLC用户的多种需要,以及制造32313133353236313431303231363533e78988e69d8331333431353432业厂商对信息的需求。PAC(可编程自动化控制器)的概念是由ARC咨询集团的高级研究员...
  • move是什么意思

    2021-03-08 02:44:47
     (动词) move的基本意思是“动”,可指人体姿势的改变,更多的是指人〔物〕位置的移动,引申还可表示“(使)动摇,(使)醒悟”“(使)感动”等,强调某种起促动作用的动因,外界影响或内在动机。作此解时,可用作不及物动词,...
  • 前面一些小节里,又是出现呈现引擎,又是出现渲染引擎,那么它们究竟是什么东西?又该怎么区分他们呢?其实他们都是Rendering Engine的翻译。Render 的中文意思有翻译,呈送,粉刷的意思。直译的话,选取其呈送的...
  • 文章目录什么是曲线(Curve)什么是动画曲线(AnimCurve)一个简单的例子添加动画曲线在动画蓝图中应用动画曲线小结 什么是曲线(Curve) 这里的曲线就是我们初中学的函数曲线,给定一个X轴的值,就可以获取唯一的Y...
  • 下面就让我们一起来看看这篇关于html5 header标签的文章吧一、首先我们来说说html5 header标签元素基本介绍header元素是一种具有引导和导航作用的结构元素,通常用来放置整个页面或页面内的一个内容区块的标题,但也...
  • html中h1是什么意思

    千次阅读 2021-06-10 08:48:44
    h1对一个网页中起到提纲挈领的作用;在一个页面中,h1标签只能出现一次。本教程操作环境:windows7系统、HTML5版、Dell G3电脑。HTML h1标签是什么?h1标签指的是一级标题。一个网页中,用h1包括起来的内容是除了...
  • 这可能是一个很小的问题,但我既没有通过网络搜索引擎,也没有在php.net上找到答案。如果你没时间解释的话,请告诉我到哪里可以读到。"var"关键字在PHP中的含义是什么?php4和php5有什么区别吗?我猜当你在2009年7月...
  • add detail是什么意思

    2021-04-23 20:57:29
    add detail的意思 12. Gucci (in 1921, Italy) recent years'Gucci wielded nimbly the brand classics'element arrives the acme, in piece of logo wind full outstanding, liked expending logo the Taiwan to ...
  • 3.nofollow标签 nofollow标签在SEO当中扮演的非常重要的角色(标签)其意思就是告诉搜索引擎蜘蛛,不要访问网页的链接或者不要追踪其特定链接(nofollow标签一般应用在非本站连接上)当然,给链接添加nofollow标签可以...
  • JVM中的执行引擎在执行java代码的时候,一般有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择。栈帧定义:栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它位于虚拟机栈...
  • 近年来,国家开始大力发展工业基础软件,工业软件大有兴起...为什么离不开几何引擎呢,因为大部分的工业软件都需要造型或者对模型进行编辑修改的功能,比如常见的三维CAD软件NX、Catia等,BIM软件Revit,仿真分析软件A
  • 框架结构是什么意思

    2020-12-20 23:11:15
    框架结构什么意思 10. 在模型结构方面,提出了一个典型的分布式水文模型框架,包括分布式输入模块,单元水文模型和河网汇流模型。在模型参数方面,提出了3种分布式水文模型参数的确定方法。 This paper reviews the...
  • sem是什么意思

    千次阅读 2021-03-28 10:35:53
    什么是sem?公式说明如下:SEM=SEO(自然排名)+竞价(付费排名与其他付费位置)+付费收录(此项可忽略)。通过公式,可以清晰明了的看到sem的组成部分。 笔者认为,搜索引擎会一直存在,使用搜索引擎的用
  • title是什么意思?撰写优秀title是从事SEO的一项基本技能。因为title是用户在搜索结果中首先看到的内容,也是搜索引擎用于确定页面主题、影响页面排名最重要因素之一,因此title对SEO至关重要。MAY的SEO博客为您分享...
  • 蜘蛛池其实就是一种特殊的外链,网站一般是我们自己的某个网站的链接或者是交换的友情链接,虽然现在对百度权重等项目几乎没什么影响了,但链接多了就容易让百度等的蜘蛛顺着这些口爬进我们的网站,如您的的网站质量...
  • BIOS是什么意思``

    千次阅读 2020-12-21 13:35:11
    FFF8到FFF6是解压缩引擎区,这里的指令可以释放FFF6之后区域的大容量代码和信息,比如厂商Logo、OEM数据等等。最后一部分是安放BIOS主程序的地方,通常这些程序也就是我们从网上下载的以bin为后缀名的BIOS升级文件。...
  • mysql存储引擎与事务

    2021-01-20 03:06:35
    mysql存储引擎与事务(2012-07-25 16:53:51)标签:...存储的方式方法也有多种,对于用户来说,同样一张表的数据,无论用什么引擎来存储,用户看到的数据是一样的;但对于服务器来说,有区别。常用表的引擎MyISAM(张...
  • Intelligent Snippets 有什么特性 Kite 本身就是一种代码补全工具。在版本更新前,它只能按照规则或检索的方式,帮助用户补全忘记了名称的函数。官方认为,这不是最优的解决方案。 在 9 月 5 日发布了新版本后,新...
  • HTML5中的header标签是什么意思?HTML5中header标签具体使用方法你知道吗?本篇文章主要带大家详细的介绍下HTML5的头部标签,解释了使用方法和使用说明对主页的介绍:Welcome to my homepageMy name is Donald ...
  • 5.load table from master操作对innodb是不起作用的,解决方法是首先把innodb表改成myisam表,导入数据后再改成innodb表,但是对于使用的额外的innodb特性(例如外键)的表不适用。 另外,innodb表的行锁也不是绝对...
  • 今天小编跟大家聊一聊什么是alt标签的作用,alt标签对SEO有哪些影响呢?希望可以帮助到你!什么是alt标签呢?alt标签实际上是网站上图片的文字提示。在alt标签中加入关键词是很好的提升关键词排名的方法,但需要注意的...
  • 重做日志(redo log)作用:确保事务的持久性。以防在发生故障的时间点,还有脏页未写入磁盘,在重启mysql的时候,根据redo log进行重做,从而达到事务的持久性这一特性。内容:物理格式的日志,记录了物理数据页面...
  • 偶然间想起以前跟一个客户加了微信,聊了几句,但到了发案例给客户时,时间突然就静止了,一下子让我变的...链接是什么?链接是指在电子计算机程序的各模块之间传递参数和控制命令,并把它们组成一个可执行的整体过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,316
精华内容 32,926
关键字:

引擎作用是什么意思