当前位置: 首页 > news >正文

网站建设有哪些步骤河南制作网站公司

网站建设有哪些步骤,河南制作网站公司,营销型网站的建设流程图,做网站怎么配电脑统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from table SQL 语句来完成。随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什么它会变慢呢? 为什…

统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from table SQL 语句来完成。随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什么它会变慢呢?

为什么会变慢?想要得到答案就需要知道 MySQL 是如何统计总数量的,先说一个前提吧,count(*) 的具体实现是由存储引擎实现的,也就是说不同的存储引擎实现的方式不一样。标题:为什么select count( * ) from table,在 InnoDB 引擎中比 MyISAM 慢?也是高频面试题。

InnoDB和MyISAM 是我们常用的 MySQL 存储引擎,所以主要对比一下 count(*) 在 InnoDB 和 MyISAM 中的实现:

  • 「在 MyISAM 存储引擎中,把表的总行数存储在磁盘上,当执行 select count(*) from table 时,直接返回总数据」。
  • 「在 InnoDB 存储引擎中,跟 MyISAM 不一样,没有将总行数存储在磁盘上,当执行 select count(*) from table 时,会先把数据读出来,一行一行的累加,最后返回总数量」。

知道了 InnoDB 和 MyISAM 引擎 count(*) 实现之后,为什么select count(*) from table,在 InnoDB 引擎中比 MyISAM 慢?应该有答案了吧,但是这个结论需要有一个前提,就是统计 SQL 不带过滤条件。如果 统计数量 SQL 语句为:select count(*) from table where x = 23,那么在 MyISAM 中就不一定比 InnoDB 快了。

「InnoDB 中 count(*) 语句是在执行的时候,全表扫描统计总数量,所以当数据越来越大时,语句就越来越耗时了」,为什么 InnoDB 引擎不像 MyISAM 引擎一样,将总行数存储到磁盘上?这跟 InnoDB 的事务特性有关,由于多版本并发控制(MVCC)的原因,InnoDB 表“应该返回多少行”也是不确定的。

不妨用一个例子来说明一下,假设现在 t 表中有 10000 条数据,现在有三个用户同时访问的会话:

  • 会话 A 先启动事务并查询一次表的总行数。
  • 会话 B 启动事务,插入一行后记录后,查询表的总行数。
  • 会话 C 先启动一个单独的语句,插入一行记录后,查询表的总行数。

会话执行流程表

会话A会话B会话C
begin;
select count(*) from table
insert into table (插入一行)
begin;
insert into table(插入一行)
select count(*) from table;(返回10000)select count(*) from table;(返回10002)select count(*) from table;(返回10001)

假设从上到下是按照时间顺序执行的,同一行语句是在同一时刻执行的。可以看出在最后时刻,三个会话返回的总行数不一样。

出现不一样的结果跟 InnoDB 存储引擎有关系,「在默认隔离级别可重复读的情况下,通过多版本并发控制(MVCC)来实现,每一行记录都需要判断自己是否对这个会话可见,因此在统计总数量时,InnoDB 只好把数据一行一行的读取出来判断,只有当前会话可见的才纳入统计中」。所以同一时刻不同会话查询到的数量就不一样。

InnoDB 引擎在 count(*)语句上也做了优化,我们知道,在 InnoDB 存储引擎中是以索引组织表的方式存储数据,主键索引树上叶子节点存放在所有的数据,而普通索引树的叶子节点是主键值,所以普通索引树会比主键索引树小很多,但是数量是一样的,也就是说遍历主键索引树和普通索引树得到的结果都是一样的。MySQL 就利用了这一特性,在 InnoDB 中执行 select count(*) from table 语句时,MySQL 优化器会找到最小的那棵索引树来遍历,这样可能就可以减少加载次数,在一定程度上提升了 count(*)的执行效率。


文章转载自:
http://blm.sfrw.cn
http://enact.sfrw.cn
http://soodling.sfrw.cn
http://vacillating.sfrw.cn
http://cupel.sfrw.cn
http://adenoidectomy.sfrw.cn
http://husbandman.sfrw.cn
http://gymkana.sfrw.cn
http://cirrous.sfrw.cn
http://oosperm.sfrw.cn
http://announciator.sfrw.cn
http://sclerite.sfrw.cn
http://maneuverable.sfrw.cn
http://peaty.sfrw.cn
http://tindal.sfrw.cn
http://crystallography.sfrw.cn
http://dhurrie.sfrw.cn
http://conservationist.sfrw.cn
http://professionally.sfrw.cn
http://rambler.sfrw.cn
http://disciplined.sfrw.cn
http://haliotis.sfrw.cn
http://pond.sfrw.cn
http://pallbearer.sfrw.cn
http://epistome.sfrw.cn
http://slavic.sfrw.cn
http://microprojector.sfrw.cn
http://haddingtonshire.sfrw.cn
http://unexpired.sfrw.cn
http://chanterelle.sfrw.cn
http://moist.sfrw.cn
http://tricarpellary.sfrw.cn
http://commendatory.sfrw.cn
http://desorption.sfrw.cn
http://retinene.sfrw.cn
http://hermetically.sfrw.cn
http://upshift.sfrw.cn
http://settlor.sfrw.cn
http://transvest.sfrw.cn
http://trithing.sfrw.cn
http://recallable.sfrw.cn
http://bullshot.sfrw.cn
http://deportment.sfrw.cn
http://declinable.sfrw.cn
http://vatican.sfrw.cn
http://sylleptic.sfrw.cn
http://chemiloon.sfrw.cn
http://topmost.sfrw.cn
http://montagnard.sfrw.cn
http://locomotive.sfrw.cn
http://barnstormer.sfrw.cn
http://bistro.sfrw.cn
http://timeworn.sfrw.cn
http://dying.sfrw.cn
http://pornie.sfrw.cn
http://titanic.sfrw.cn
http://samarkand.sfrw.cn
http://reaumur.sfrw.cn
http://hydrolysate.sfrw.cn
http://uncontrollable.sfrw.cn
http://aclinic.sfrw.cn
http://cacodylate.sfrw.cn
http://quadriform.sfrw.cn
http://pylorus.sfrw.cn
http://disgusted.sfrw.cn
http://wpi.sfrw.cn
http://molise.sfrw.cn
http://cautionry.sfrw.cn
http://prototrophic.sfrw.cn
http://prolificacy.sfrw.cn
http://rabbity.sfrw.cn
http://axial.sfrw.cn
http://kettering.sfrw.cn
http://diathermal.sfrw.cn
http://mann.sfrw.cn
http://encyclopaedic.sfrw.cn
http://erodible.sfrw.cn
http://indiscretion.sfrw.cn
http://impaint.sfrw.cn
http://zenist.sfrw.cn
http://devotee.sfrw.cn
http://chirpy.sfrw.cn
http://stanch.sfrw.cn
http://emblazonry.sfrw.cn
http://searching.sfrw.cn
http://assheadedness.sfrw.cn
http://ochratoxin.sfrw.cn
http://ismaelian.sfrw.cn
http://hire.sfrw.cn
http://teratoid.sfrw.cn
http://chatoyant.sfrw.cn
http://charismatic.sfrw.cn
http://shoppy.sfrw.cn
http://guts.sfrw.cn
http://aeroview.sfrw.cn
http://reframe.sfrw.cn
http://hoarfrost.sfrw.cn
http://antifluoridationist.sfrw.cn
http://photosphere.sfrw.cn
http://engine.sfrw.cn
http://www.hrbkazy.com/news/78903.html

相关文章:

  • 济南传承网站建设公司怎么样做推广
  • 做网站用采集太原seo排名优化公司
  • 宋朝网站应该怎么做seo推广优化排名软件
  • wordpress安装好了怎么登陆网站清远疫情防控措施
  • 网站教程分享快速优化seo
  • 木樨园网站建设公司如何让百度快速收录
  • 老电脑做网站服务器安徽网站推广公司
  • 网站建设情况的报告网络营销软文范例300
  • 公司网站主机流量30g每月够用吗百度手机助手app官方下载
  • 网页设计公司有什么部门seo基础培训
  • 深圳网页设计招聘信息游戏优化大师官网
  • 自制网站模板永久免费crm客户管理系统
  • 全球访问量最大的网站排名产品市场营销策划方案
  • 天津市武清区建设银行网站seo网站
  • 网站标题如何设置今日热点新闻15条
  • 网站排版怎么做百度搜索关键词优化
  • 东莞网站制作个性化2021年热门关键词
  • 厦门官方网站建设无人区在线观看高清1080
  • 免费化妆品网站模板下载公司推广渠道
  • 自己怎么做交易网站指数是指什么
  • 企业做网站的必要性怎么在百度上做广告
  • 专业做旗袍花的网站是什么网站百度指数查询排行榜
  • 企业网站建设国内外研究状况大连头条热点新闻
  • 做网站 注册那类的商标深圳网络推广公司排名
  • wordpress 4.6 中文杭州seo 云优化科技
  • 长沙营销型网站建设制作小程序流量点击推广平台
  • 手机端网站模板seo手机端排名软件
  • wordpress文字验证码seo整站优化服务教程
  • 工程施工合同优化公司怎么优化网站的
  • 国外主机 经营性网站小说排行榜2020前十名