精华内容
下载资源
问答
  • 导读:本篇文章想聊聊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。

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

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

    展开全文
  • country varchar(100),PRIMARY KEY(id),KEYidx_name (name)) Engine=InnoDBCHARSET=...这个hero表主要为了存储三国时的一些英雄,我们向表中插入一些记录:INSERTINTOhero VALUES(1, 'l刘备', '蜀'),(3, 'z诸葛亮...

    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)

    展开全文
  • SEO是什么意思?什么是SEO /搜索引擎优化?SEO代表搜索引擎优化,这是通过自然搜索引擎结果增加网站流量的数量和质量的做法。什么是SEO什么是SEO?SEO代表“搜索引擎优化”。它是从搜索引擎上的“免费”,“有机”,...

    e563f7567c8d105780ae2f92bc9d8384.png
    SEO是什么意思?什么是SEO /搜索引擎优化?SEO代表搜索引擎优化,这是通过自然搜索引擎结果增加网站流量的数量和质量的做法。

    什么是SEO

    bff53381bebe33bffcb1310952620f49.png
    什么是SEO?

    SEO代表“搜索引擎优化”。它是从搜索引擎上的“免费”,“有机”,“社论”或“自然”搜索结果中获取流量的过程

    SEO有什么作用?

    为了理解SEO的真正含义,让我们打破这句话并查看部分:

    流量作用。你可以吸引世界上所有的访客,但是如果他们来到你的网站是因为谷歌告诉他们你是苹果电脑的资源,当你真的是一个卖苹果的农民时,这不是高质量的流量。相反,您希望吸引对您提供的产品真正感兴趣的访客。

    增加点击量。一旦有合适的人从这些搜索引擎结果页面(SERP)中点击,就会有更多的流量。

    网站流量。广告构成了许多SERP的重要组成部分。有机流量是您无需支付的任何流量。

    有机搜索流量特别是来自SERP的任何无偿流量。

    还是不能理解SEO的话,可以参考下面的知乎大神链接:

    SEO主要是做什么工作的?www.zhihu.com
    5e985e6bb26f85192e1ca6d0d174aa6f.png

    SEO如何运作?

    您可能会将搜索引擎视为您访问的网站,将问题键入(或说出)框中,baidu或您正在使用的任何搜索引擎都会神奇地回复一长串指向该网页的链接可以回答你的问题。

    确实如此。但是你有没有停下来考虑那些魔法链接背后的内容?

    以下是它的工作原理:baidu(或您正在使用的任何搜索引擎)都有一个爬行器,可以收集有关他们可以在Internet上找到的所有内容的信息。爬虫将所有这些1和0带回搜索引擎以构建索引。然后通过一个算法提供该索引,该算法尝试将所有数据与您的查询进行匹配。

    搜索引擎的算法有很多因素,这里有一组专家如何评价他们的重要性:

    SEO优化的O部分是那些将所有内容写入其网站并将其放在网站上的人正在批评内容和那些网站,以便搜索引擎能够理解他们所看到的内容以及到达的用户通过搜索会喜欢他们所看到的。

    优化可以采取多种形式。这一切都是为了确保标题标签和元描述都具有信息性,并且在您引以为傲的页面上指向内部链接的正确长度。

    相关知乎大神导读:

    顾小北:SEO工作原理及优化解析zhuanlan.zhihu.com
    ac60bf1d64753479aee48091d4f4774a.png

    SEO如何优化?

    优化有很多方法,但是重要的还是四处一词锚文本

    四处一词:

    (1)标题出现该关键词。

    (2)关键词标签,描述标签里面出现该关键词,如果是字母,在链接URL中也体现。

    (3)内容里多次出现关键词,并且第一个加粗

    (4)其它页面出现该关键词锚文本

    (5)如果有2个词,难得词做四处一词

    锚文本:

    连接锚文本:一个关键词带一个链接,就称为链接锚文本(也简称锚文本)

    如何SEO优化,可以看这篇知乎大神分析的:

    蛤蜊卤鸭:什么是SEO?如何进行SEO优化?zhuanlan.zhihu.com
    7f4a9b4051ae24439e6532bcc567c94d.png
    展开全文
  • 大家都知道我们处于信息高度活跃的时代,人们获取信息的渠道趋多元化和便捷化,我们平常在生活中遇到...搜索引擎作用一:搜索引擎网络品牌传播渠道之一企业品牌信息在互联网中存在并且可以被用户所发现,网络...

    大家都知道我们处于信息高度活跃的时代,人们获取信息的渠道趋多元化和便捷化,我们平常在生活中遇到各种疑惑和不解,很多时候我们百度一下就知道。可想而知,搜索引擎对我们人们的日常生活是有多大的影响吧,反正小编基本是离不开搜索引擎的了。有什么不懂的立刻百度。今天小编就来跟大家讲讲搜索引擎在网络营销中的作用。

    90c4a4a14c4720d4c646199eb74256d6.png

    搜索引擎

    作用一:搜索引擎是网络品牌传播渠道之一

    企业品牌信息在互联网中存在并且可以被用户所发现,是网络品牌传播的必要条件。企业的网站信息应该被主要搜索引擎收录,从而获得被用户发现的机会,否则再精美的网站也宣传不了企业的品牌形象。

    作用二:搜索引擎作为网站推广的工具

    所谓网站推广,也就是为用户发现网站信息并来到网站浏览信息创造机会,而搜索引擎正式通过搜索结果中有限的摘要信息将用户引导到信息源网页。

    作用三:搜索引擎作为网上市场调研的工具

    通过搜索引擎,不仅可以方便地了解竞争者的市场动向,还可以方便及时地获得竞争者的产品信息、用户反馈、市场热点等最新信息。

    作用四:搜索引擎对产品促销的价值

    对于网上销售网站来讲,搜索引擎也是常有的产品推广工具,这就是为什么在搜索某些产品名称是,搜索结果中会出现很多网络零售网站的付费关键词广告的原因所在。

    作用五:利用搜索引擎营销策略为竞争对手制造网络推广壁垒

    试想一下,当你的网站准确地出现在你的潜在客户眼前,而你的对手还在苦苦浪费一堆流量来做一些无用功时,你是不是已经超越了很多人了。

    作用六:搜索引擎作为网站优化的检测工具

    通过对搜索引擎检索反馈信息的详细报告分析,是研究网站搜索引擎优化状况最有效的方法之一。

    以上就是小编今天要说的搜索引擎对网络营销的作用,其实搜索引擎的作用很多,欢迎大家在下方留言,以上也只是小编列出来的其中六大点,希望对各位朋友们有帮助吧。

    展开全文
  • SEO到底是什么意思作用是什么

    千次阅读 2018-11-08 14:39:33
    问:SEO到底是什么意思? 答:SEO就是搜索引擎优化,用来帮用户通过百度、谷歌等搜索引擎快速找到你要找的网站,英文全称是Search Engine Optimization。 网民上网都会使用百度、谷歌等搜索引擎来搜索信息,在搜索...
  • 时间:2018/9/27岗位:引擎开发工程师面试前的小测试:给一个无向图,求该图的连通子图个数,要写代码。一面:首先上来先讲了一下小测验的思路,然后看了一下代码,挑出了几个细节错误以及可以优化的地方。提问环节...
  • 说实话mysql的myisam引擎在查询、插入等方面和内存表引擎基本上不相伯仲的,所以第一个建议还是能用myisam的地方还是选择myisam引擎但是最近遇到一个比较麻烦的问题,一个用来存储信息的维表,需要频繁的查询、...
  • SEO是什么意思?什么是SEO /搜索引擎优化?SEO代表搜索引擎优化,这是通过自然搜索引擎结果增加网站流量的数量和质量的做法。什么是SEO什么是SEO?SEO代表“搜索引擎优化”。它是从搜索引擎上的“免费”,“有机”,...
  •  在看mysql的内容,经常提到存储引擎,那么到底什么是存储引擎呢  在这里对于概念进行理解,记录下. 概念解释: 存储引擎(storage engine):存储引擎就是mysql中的一个组件,这个组件的作用就是为不同的表类型来处理...
  • ElasticSearch数据库在这个搜索引擎项目里的作用是全文检索,因为MySQL无法实现这个功能。而搜索引擎的特点是用户给出一个查询关键字,我们根据这个关键字进行全文匹配查找符合条件的文档出来返回给用户。也就是说...
  • 这个属性的意义就是告诉搜索引擎不要追踪此特定链接,告诉搜索引擎这个链接不经过作者信任的。引用nofollow的目的就是用于指示搜索引擎不要去抓取网页上任何带有nofollow属性的出现出站链接,以减少垃圾链接,分散...
  • 展开全部临时表的存储引擎在 MySQL 5.6 之前32313133353236313431303231363533e4b893e5b19e31333433643739,所有磁盘上的临时表都默认创建为 MyISAM 类型。临时表在内存中,还是在磁盘上创建,具体取决于配置,并...
  • "var"关键字在PHP中的含义是什么?php4和php5有什么区别吗?我猜当你在2009年7月30日问这个问题时,这个问题还没有在php.net/manual/en/language.oop5.visibility.php上发布?注意:由于兼容性的原因(作为公共关键.....
  • description是什么意思

    2020-10-14 20:44:25
    其实对description不重视认为呢不重要,其实根本原因是不明白description是什么意思,所以导致更不知道在我们网站优化当中description的重要性,如果把这个description写好了,完全是可以带来在搜索引擎里面结果页中...
  • 这个标签的意义告诉搜索引擎"不要追踪此网页上的链接或不要追踪此特定链接"。nofollow一个HTML标签的属性值。它的出现为网站管理员提供了一种方式,即告诉搜索引擎"不要追踪此网页上的链接"或"不要追踪此特定...
  • sem是什么意思

    2021-03-28 10:35:53
    sem是什么意思?因为sem包含竞价,所以很多人把sem叫做sem竞价;因为其是网络营销方式的一种,所以很多人也把它叫做sem营销。严格来讲,我们以最简单的称谓即可,另外一方面,sem的标准解释是:搜索引擎营销。相对于...
  • 其实对description不重视认为呢不重要,其实根本原因是不明白description是什么意思,所以导致更不知道在我们网站优化当中description的重要性,如果把这个description写好了,完全是可以带来在搜索引擎里面结果页中...
  • 什么是模板引擎

    2021-05-07 13:55:59
    从字面上理解模板引擎,最重要的就是模板二字,这个意思就是做好一个模板后套入对应位置的数据,最终以html的格式展示出来,这就是模板引擎作用。 对于模板引擎的理解,可以这样形象的做一个类比:开会! 相信你在...
  • 百度快照更新是什么意思

    千次阅读 2016-10-18 17:44:30
    百度快照更新是什么意思?...百度快照的作用是什么?我们有该如何让百度快照持续更新呢?    一、百度快照是什么?  快照即为Web Cache,可以翻译为网页缓存,当搜索引擎派出蜘蛛去对网站进行索
  • Description也叫作网页摘要,...Description是什么意思 在网站优化SEO当中,description是针对网页描述最重要一个标签代码,帮助搜索引擎理解识别网页的概括。 对于从事网页开发站长SEO人员来说,Description
  • 那么,IDC是什么意思,中小企业如何选择IDC机房? 根据以往搜索引擎排名的经验,我们将通过如下内容,进一步说明: IDC是什么意思? 简单理解:IDC主要是指互联网数据中心(InternetDataCenter,简称IDC)是指一...
  • 百度快照的作用是什么?我们有该如何让百度快照持续更新呢?一、百度快照是什么?快照即为Web Cache,可以翻译为网页缓存,当搜索引擎派出蜘蛛去对网站进行索引的时候,会去对网站页面进行拍照抓取,生成一个临时的...
  • 3.1 JavaScript 是什么 JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思) 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行 现在...
  • JVM(Java Virtual Machine)意思是Java 虚拟机。它一个虚构出来的计算机,可在实际的计算机上模拟各种计算机功能。JVM有自己完善的硬件架构,例如处理器、堆栈和寄存器等,还具有相应的指令系统。 2.JVM作用 JVM...
  • ”,其作用是Zend引擎每执行1条低级语句就去执行一次“register_tick_function()”注册的函数。php中declare的作用详解一般用法是 declare(ticks=N);拿declare(ticks=1)来说,这句主要作用有两种:1、Zend引擎每执行...
  • domain指令有什么作用

    2021-03-29 16:31:20
    爱美剧提供该篇文章domain指令SEO入门者都会了解的一个搜索...域名的意思,在搜索时表示的相关域名的查找。 二、什么是网站相关域? 1、网站相关域解释 网站相关域可以分为有效相关域和无效相关域。有效相关域
  • nofollow标签对于网站优化有什么作用?我们经常面临站内链接处理问题,因为有些优化价值小的页面会分散网站...首先我们需要知道Nofollow是什么意思,正如它的英文翻译一样:禁止追踪。它告诉搜索引擎蜘蛛该标签中...
  • canonical标签就是告诉搜索引擎哪个页面权威页面。以我的理解,Canonical标签大致的作用如下。 第一,使用Canonical标签使网址规范化。 第二,避免内容重复页面,搜索引擎收录更准确。 第三,集中传递页面权重...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 129
精华内容 51
关键字:

引擎作用是什么意思