MYSQL count(*) 和 count(1) 哪个更好?

2023-12-07

相关(SQL Server): 计数 (*) 与计数 (1)

你能告诉我什么性能更好(MySQL)?计数(*)还是计数(1)?


这是 MySQL 的答案。

它们的执行完全相同 - 除非您使用 MyISAM,然后是一个特殊情况COUNT(*)存在。我总是用COUNT(*) anyway.

https://dev.mysql.com/doc/refman/5.6/en/aggregate-functions.html#function_count

For MyISAM桌子,COUNT(*)被优化以非常快地返回,如果SELECT从一张表中检索,不检索其他列,并且 没有WHERE条款。例如:

mysql> SELECT COUNT(*) FROM student;

此优化仅适用于MyISAM表,因为为此存储引擎存储了精确的行数 并且可以非常快速地访问。COUNT(1)仅受相同的 如果第一列定义为优化NOT NULL.


###EDIT Some of you may have missed the dark attempt at humour. I prefer to keep this as a non-duplicate question for any such day when MySQL will do something different to SQL Server. So I threw a vote to reopen the question (with a clearly wrong answer).

上述MyISAM优化同样适用于

COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)

所以真正的答案是他们是always相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MYSQL count(*) 和 count(1) 哪个更好? 的相关文章

  • 有没有办法将应用程序上下文与非 Sybase DB 服务器中的数据库连接进行通信(类似于 Sybase 中的 set_appcontext)?

    Sybase 有一种让应用程序进行通信的方法 上下文 数据 http manuals sybase com onlinebooks group as asg1250e sag Generic BookTextView 38861 hf 0
  • 基准测试:PostgreSQL 上的 bigint 与 int

    我想提高数据库性能 在一个项目中 所有表都来自int to bigint 我认为这不仅在存储方面是一个糟糕的选择 因为int需要4 bytes and bigint需要8 bytes 但也与性能有关 所以我创建了一个小表1000万条目 其中
  • 为什么这个 MySQL 更新不起作用?

    有一张桌子叫meterreadings 我需要复制属性meterreading从一排到另一排 这是数据示例 id meterreadingdate meterreading meterreadingtype id created 1 201
  • 保存用户的身高和体重

    我应该如何将用户的身高和体重存储在MySQL数据库中 以便我可以使用这些信息来查找特定身高或体重内的用户 另外 我需要能够以英制或公制显示此信息 我的想法是存储以厘米为单位的身高和以公斤为单位的体重信息 我更喜欢公制而不是英制 我什至可以让
  • 将表与同一个表的前一条记录连接起来

    我有一个包含历史记录的表 由主表中的多个触发器发布到那里 我想在历史表上创建一个 select 语句 其中每个记录都由其先前的记录 由相同的 LineID 和最高的 ActionDate 标识 连接 这样我就可以提取这两者之间的差异 我尝试
  • MySQL - 此版本的 MySQL 尚不支持“LIMIT 和 IN/ALL/ANY/SOME 子查询”

    这是php编码我正在使用的 Last Video db gt fetch all SELECT VID thumb FROM video WHERE VID IN SELECT VID FROM video WHERE title LIKE
  • MySQL 多个 IN 条件对同一个表进行子查询

    我有多个带有子查询的 IN 条件 SELECT S name S email FROM something S WHERE 1 NOT IN SELECT id FROM tags WHERE somethingId S id AND 2
  • PHP/MySQL:检索邻接列表模型中的单个路径

    有没有什么有效的方法可以在不限制深度的情况下根据节点的ID检索邻接列表模型中的单个路径 就像如果我有一个名为 Banana 的节点的 ID 我可以获得以下路径 Food gt Fruits gt Banana 如果不可能的话也不是什么大问题
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • Mysql - 如何比较两个 Json 对象?

    将整个 MySql json 列与 json 对象进行比较的语法是什么 以下不起作用 select count criteria from my alerts where criteria industries 1 locations 1
  • 一次将多个值插入MySQL [重复]

    这个问题在这里已经有答案了 谁能解释一下为什么这个 PHP MySQL 不起作用 基本上我需要从表单中一次插入大量行 因此会有多个名称字段 多个短 中 长字段等 我收到此错误 Notice Undefined variable Short1
  • 对 SQL Server 2005 结果进行分页

    如何在 SQL Server 2005 中对结果进行分页 我在 SQL Server 2000 中尝试过 但没有可靠的方法来做到这一点 我现在想知道SQL Server 2005是否有任何内置方法 分页的意思是 例如 如果我按用户名列出用户
  • WHERE 子句或 ON 子句中的 INNER JOIN 条件?

    我今天输错了一个查询 但它仍然有效并给出了预期的结果 我的意思是运行这个查询 SELECT e id FROM employees e JOIN users u ON u email e email WHERE u id 139840 但我
  • 我应该为 MySQL 使用什么 python 3 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 据我所知 MySQLdb 仍然没有移植到 Python 3 pypy 上似乎有另一个名为 PyMySQL
  • 获取 SQL 表上未使用的唯一值

    我有一个表 其中有一列描述数字 ID 该 ID 对于所有行都是唯一的 但它不是主键 数字 ID 是有限的 假设答案可以是从 1 到 10 SELECT ID FROM TABLE ID 1 2 5 我必须 通过 UI 向用户呈现未使用的值
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons

随机推荐

  • 当闪亮正忙并且显示加载文本时,如何禁用所有操作按钮

    在闪亮的应用程序内 我想在应用程序运行时禁用所有按钮 我有很多操作按钮 依赖项和一些 renderui 东西 所以我认为使用闪亮js disable button 是至关重要的 并且超过 40 个及更多按钮非常不干净 当闪亮的应用程序繁忙时
  • 与 Oracle 集群的 JDBC 连接

    我想连接到此 TNS 描述的集群 Oracle 数据库 MYDB DESCRIPTION ADDRESS PROTOCOL TCP HOST host1 PORT 41521 ADDRESS PROTOCOL TCP HOST host2
  • 注解字段与其 getter 方法 JPA 之间的区别

    我试图弄清楚直接注释 以 id 为例 getter 方法和相关字段之间是否存在差异 如果我注释该字段 JPA 是否使用某种反射来调用相应的 getter 因为在我的例子中 我试图混淆我的实体类 所以我正在寻找一种保留业务逻辑的方法 因为 g
  • 从 chrome 位置 /usr/bin/google-chrome 启动的进程不再运行,因此 ChromeDriver 假设 Chrome 因 Selenium 崩溃了

    我正在 ubuntu 服务器上运行 jupyter 笔记本 我正在尝试使用 chromedriver 运行下面的 selenium 代码 我收到下面的错误 但如果我在 Ubuntu 终端中运行下面的代码行 它会返回下面的输出 有谁知道问题可
  • 一张图颠覆

    有谁知道基础的好的插图吗颠覆用法 类似于此目录中的图像 http www ivy fr mercurial ref v1 0 他们是为了水银 单个图像说明了最常见的操作 那个更详细 来自Subversion svn 快速入门
  • 如何生成不重复的随机数

    我正在尝试随机化数组中的数字 我可以使用arc4random indexes count 我的问题是 如果一个数组由 20 个项目组成 则每次数组洗牌时 在 5 个批次中 应该出现不同的数字 例子 第一次洗牌 1 4 2 5 6 第二次洗牌
  • SVM 分类 - 每个类别的最小输入集数量

    我正在尝试构建一个应用程序来检测来自网页的广告图像 一旦我检测到这些 我将不允许它们显示在客户端 从我得到的帮助这个 Stackoverflow 问题 我认为 SVM 是实现我的目标的最佳方法 所以 我自己编写了 SVM 和 SMO 我从
  • 最后打印页面的 HTML 页脚

    我想打印我的 html 页面 我有超过一页的内容 我只想在最后一页的底部打印页脚 我的CSS page size 8 5in 11 0in margin left 0 7cm margin top 0 7cm margin top 0 7c
  • rand() 函数未生成足够的随机数

    我正在开发一个 openGL 项目 我的 rand 函数没有给我足够大的随机范围 我的任务是编写一个钻石程序 其中一颗钻石位于屏幕中央 五颗钻石随机放置在屏幕的其他位置 发生的情况是我的中心钻石位于它应该在的位置 而其他五个钻石则在中心左侧
  • 我创建了一个有多个敌人的游戏太空侵略者

    我想创建 1 个额外的敌人 我在循环列表时遇到问题 但是当我这样做时 我不断收到此错误 enemyX i enemyX change i IndexError list index out of range 这是我的代码 num of en
  • 俄罗斯套娃到百叶窗xsl改造

    我一直在尝试编写一个 xslt 转换 将 俄罗斯娃娃 样式的 xsd 转换为 威尼斯盲人 样式 我写了一些东西 但并不完全按照我的预期工作 所以我有以下xsd文档
  • 在 Chrome 中,当焦点位于已注册 onChange 和 onBlur 处理程序的 TextArea 上时,无法在 FocusPanel 上获得 onClick()

    我不喜欢在我的应用程序中使用 Button s 因为它们在视觉上太重了 我想我可以使用具有图像的按钮 但我发现我认为是一个更简单的解决方案 不需要使用图像 只需制作一个 InlineLabel 并将其放入 FocusPanel 中 然后拦截
  • 根据本地安全策略验证新的 AD 密码?

    我想允许当前用户更改其密码 通过活动目录管理 我想验证然后在 Active Directory 中设置他们的密码 当前使用SetPassword调用方法 我的问题是验证密码 使其满足复杂性要求 不包含用户的帐户名或 用户全名的一部分 超过两
  • WINAPI EnumWindowsProc:非标准语法;使用 & 创建指向成员的点

    当我调用 EnumWindows EnumWindowsProc 0 时 我不断收到错误消息 它将我的 BOOL CALLBACK SelectionWindows EnumWindowsProc HWND hWnd long lParam
  • 如何更新光标位置? [复制]

    这个问题在这里已经有答案了 可能的重复 在 RichTextBox 中设置光标 private void richTextBox1 TextChanged object sender EventArgs e string text rich
  • 如何为特定任务创建 Ant 监听器

    我们的应用程序中有大约 80 个 jar 全部都是使用ant中的javac任务和jar任务创建的 我想介绍一下 findbug 检查 一种选择是创建单个 findbug 检查 ant 项目 其中包含所有 jars 和定义的所有源路径 这可行
  • 布尔运算符如何在“if”条件下工作?

    我目前是 Python 新手 正在尝试运行几行简单的代码 我无法理解 Python 在之后如何评估这个语法if陈述 任何解释将不胜感激 number int raw input Enter number if number 1 or 2 o
  • 如何在java中序列化ArrayLIst而不出现错误?

    我只是想输出一个先前创建的 ArrayList 以将其序列化以供将来存储 但是当我尝试这样做时 我收到运行时错误 notSerializedException Department 有没有一种特殊的方法来序列化 arrayList 有人能告
  • JQuery 回调先前定义的函数

    我仍在学习 JQuery 因此学习了一点 JavaScript 但我似乎不知道如何在回调中使用先前定义的函数 假设我有 我希望在另一个函数中使用它 例如
  • MYSQL count(*) 和 count(1) 哪个更好?

    相关 SQL Server 计数 与计数 1 你能告诉我什么性能更好 MySQL 计数 还是计数 1 这是 MySQL 的答案 它们的执行完全相同 除非您使用 MyISAM 然后是一个特殊情况COUNT 存在 我总是用COUNT anywa