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

公司推广发帖网站怎么做seo信息网

公司推广发帖网站怎么做,seo信息网,泰安市住房建设局网站,自己如何做app在 MySQL 中统计数据表的行数可以使用三种方式,分别是 SELECT COUNT(*)、SELECT COUNT(1)、SELECT COUNT(字段),那么三者之间有什么区别呢? COUNT(*)和 COUNT(1) 都是对所有结果进行 COUNT,COUNT(*) 和 COUNT(1) 本质上并没有区别…

在 MySQL 中统计数据表的行数可以使用三种方式,分别是 SELECT COUNT(*)SELECT COUNT(1)SELECT COUNT(字段),那么三者之间有什么区别呢?

COUNT(*)COUNT(1) 都是对所有结果进行 COUNTCOUNT(*)COUNT(1) 本质上并没有区别(二者执行时间可能略有差别,但是它们的执行效率可以认为是相等的)。在查询语句中,如果存在 WHERE 子句,则是对所有符合筛选条件的数据行数进行统计;如果没有 WHERE 子句,则是对数据表的数据行数进行统计。

COUNT(*)COUNT(1) 虽然执行效率相等,但在 MySQL 不同存储引擎下的时间复杂度也存在区别:

  • 对于 MyISAM 存储引擎:

    如果是在 MyISAM 存储引擎下执行 COUNT(*)COUNT(1),那么统计数据表的行数只需要 O(1) 的时间复杂度,这是因为每张 MyISAM 的数据表都有一个 meta 信息存储了 row_count 值,而一致性则由表级锁来保证。

  • 对于 InnoDB 存储引擎:

    如果是 InnoDB 存储引擎,因为 InnoDB 存储引擎支持事务且采用行级锁和 MVCC 机制的特性,所以 InnoDB 存储引擎无法像 MyISAM 存储引擎一样维护一个 row_count 变量,因此 InnoDB 执行存储引擎执行 COUNT(*)COUNT(1) 需要采用扫描全表,对应的时间复杂度为 O(n),以循环加计数的方式来完成数据行数统计。

对于 COUNT(字段) 而言,在 InnoDB 存储引擎中,如果采用 COUNT(字段) 来统计数据行数,要尽量采用二级索引。这是因为聚簇索引中单个数据节点包含的数据信息要多于二级索引单个数据节点所包含的数据信息,因此如果加载相同个数的数据节点,二级索引(非聚簇索引)所占内存要比聚簇索引更少。

而对于 COUNT(*)COUNT(1) 而言,它们不需要查找具体的行,只是统计行数,系统会自动采用占用空间更小的二级索引来进行统计。如果有多个二级索引,会使用 key_len 小的二级索引进行扫描。当没有二级索引的时候,才会采用主键索引来进行统计。

http://www.dtcms.com/a/567726.html

相关文章:

  • 网站域名收费北大青鸟网站开发
  • 免费网站个人注册简单个人网站欣赏
  • 公司网站传图片漳州做网站多少钱
  • 学做网站有前途吗自助建站系统搭建
  • 建设网站使用的工具珠海专业做网站的公司
  • 文化传播公司网站建设需求百度识图在线
  • 天津设计院排名怎么做关键词优化排名
  • 在网站开发中哪里需要js文件电子商务网站如何建设
  • 长沙市网站设计公司天津网站建设定制
  • 中国建设银行黑龙江支行官方网站无锡网站建设哪家做的比较好
  • 网站设计需求方案手机高端设计网站建设
  • 网站建设不能使用的广告违禁词成都工商注册流程
  • 微信支付 公司网站iis6建设网站浏览
  • 做凸透镜成像的网站全网覆盖推广
  • 网站建设php教程视频建设工程公司取名字大全
  • 网站优化推广闵行区网站设计
  • icp备案 网站负责人wordpress5.2.2编辑器中文
  • 卖文具做网站好还是做电商好互联网+报名入口官网
  • 商丘做网站seo免费一级域名注册网站
  • 考试类网站如何做如何策划网站
  • 鄞州中学网站谁做的微网站后台内容设置
  • 企业网站黄页怎么做网络系统设计与管理
  • 长宁区科技网站建设户外俱乐部网站模板
  • 网站网页的像素尺做诚信通谁给做网站
  • 公司网站的服务费做哪个科目加强网站和公众号建设
  • 网站开发维护面试网站良精企业网站系统
  • 在国内做跨境电商怎么上外国网站如何做网站logo 设置平滑
  • 手机可以访问的网站怎么做撰写网站建设策划书范文
  • 栾城区城乡建设局网站久久建筑网平台
  • 网站搭建设计是什么任务网站的接口怎么做