2 个不同的小查询与 1 个带子查询的查询

2023-11-27

我有这样的桌子

name       | personal_number 
-----------------------------------------
Jon        | 222
Alex       | 555
Jon        | 222
Jimmy      | 999

我需要获取每个名字,其中个人号码在表中重复超过 1 个,即结果必须是:

 Jon        
 Jon        

因此,变体 1):

SELECT  name  FROM mytable WHERE personal_number IN (
        SELECT  personal_number  FROM mytable  GROUP BY personal_number
        HAVING COUNT(*) > 1
)

变体 2):

SELECT  personal_number  FROM mytable  GROUP BY personal_number
        HAVING COUNT(*) > 1
)

然后,使用 php,检索作为字符串连接的个人号码(类似这样'222', '222') 并运行其他查询

SELECT  name FROM mytable  WHERE personal_number IN( here joined string )

变体 2 的工作速度比变体 1 快大约 10 倍,这对我来说是个惊喜,我以为一个查询会更快,但是......

(表中有 500 000 行,列personal_number未编入索引)

那么,您对此类案例的意思是什么?为什么变体 2 比变体 1 快很多?


正如本文中提到的,子查询似乎非常慢http://www.mysqlperformanceblog.com/2010/10/25/mysql-limitations-part-3-subqueries.

您应该尽量避免使用子查询并使用连接。

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

2 个不同的小查询与 1 个带子查询的查询 的相关文章

  • PHP静态函数

    我有一个关于 php 中的静态函数的问题 假设我有一堂课 class test public function sayHi echo hi if I do test sayHi 它工作没有问题 class test public stati
  • JS 中的模板?

    我们都喜欢简单 结构化且易于遵守的代码 我们试图在外观和逻辑之间带来差异 例如 在 PHP 中 我们可以使用模板机制 即创建一个带有 php 标签的 html 格式的文件 该文件使用一些预定义的变量 这些变量可以通过逻辑负责任的脚本来使用
  • WordPress、PHP、URL 编码问题

    Wordpress 提供了一个名为 the permalink 的函数 您猜对了 在帖子循环中返回给定帖子的永久链接 我正在尝试对该永久链接进行 URL 编码 当我执行此代码时 它以 HTML 形式生成以下结果 http
  • Google OAuth 2 PHP 调用用户信息

    我正在尝试使用 Google 的 OAuth2 API 在他们的通用文档中 他们提到了一个名为 UserInfo 的调用 http code google com apis accounts docs OAuth2Login html us
  • php imagecopyresampled 添加黑色背景

    我有一个调整图像大小的脚本 它采用 130x81 图像并将其添加到 130x130 图像中 当 imagecopyresampled 函数运行时 它会在剩余的空间中添加黑色背景 即使基本图像是白色的 下面的代码 我真的很感激一些帮助 The
  • 如何在 Linux 上的 php 中启用 --enable-soap?

    这就是问题所在 我在 Apache 上安装了 PHP 5 2 9 但无法升级 PHP 有没有办法在 PHP 5 2 9 中启用 SOAP PHP 手册中说 要启用 SOAP 支持 请使用 enable soap 配置 PHP 这根本没有帮助
  • 如何将逗号分隔值传递给 MySql 中的存储过程?

    我有像这样的存储过程 CREATE DEFINER test PROCEDURE test get details in p istudid int in p icourseid int in p branchid varchar 20 B
  • 使用 C++ 连接器的 C++ mysql 连接 bad_alloc

    尝试建立一个简单的 mysql 连接 但得到一个bad alloc即使查看类似的帖子 我也不知道如何解决这个问题 这是我的代码 include
  • PHPExcel - 如何使用 preg_replace 替换文本

    我正在使用 PHPExcel 将数据库中的数据提取到组织好的 Excel 工作表中 除了一件事之外 一切都运转良好 我的数据库条目有时可能包含 HTML 标记 例如 strong strong br p p 等等 所以我设法让这个 PHP
  • 将我的 JSON 字符串格式化为 PHP 中的
      有序列表

    我正在为一个宠物项目开发一个简单的 CMS 我目前有一个 JSON 字符串 其中包含菜单结构的页面 ID 和父页面 ID 的列表 我现在想将此字符串转换为嵌套或分层列表 有序列表 我尝试过循环查找 但似乎最终得到了过于复杂的子类范围 我正在
  • simplexml_load_string 函数出现巨大的输入查找错误

    我有一个大小不同的 API 响应 当我尝试使用将 xml 对象转换为 std 对象时 它不会在大型 xml 数据 约 20MB 上显示错误 这是我的代码 xml simplexml load string apiResponse objec
  • file_get_contents:即使出现错误也能获得完整响应

    是否有可能使file get contents即使发生错误也显示实际响应 否则很难调试 例如 假设您有以下代码 url https api twitter com oauth request token data array options
  • 如何使用 Amazon S3 SDK 更新元数据

    我正在使用 Amazon 的 AWS SDK 的 PHP 版本 我有一堆带有Expires标头 我想删除该标头并添加一个Cache control标题代替 这更新对象 http docs amazonwebservices com AWSS
  • 在 PHP 中,如何检查函数是否存在?

    如何检查该功能是否可用my functionPHP 中已经存在 Using function exists http php net function exists if function exists my function my fun
  • 从条件表中获取 WHERE 子句的条件

    我创建了以下简单的DataModel 我用以下数据填充了表格 1 桌子Customer INSERT INTO test customer CustomerName Country RegistrationDate VALUES Custo
  • 是否可以倒回 PDO 结果?

    我正在尝试为 PDO 语句的结果编写一个迭代器 但找不到任何回退到第一行的方法 我想避免调用 fetchAll 和存储所有结果数据的开销 first loop works fine foreach statement as result d
  • 在 imagick php 中使用 svg 原始数据生成 SVG 图像

    我正在尝试使用从 Fabric js 获取的 svg 原始数据创建 svg 图像 我使用下面的代码使用 svg 原始数据生成 svg 但它无法正常工作 public function generate svg raw svg prefix
  • cURL 错误 28:5001 毫秒后解析超时

    我使用 WordPress 最近将我的网站从 cpanel 主机移动到带有 directadmin 面板的 Linux 服务器 转账后立即发现客户在通过EDD插件下载时出现以下错误 cURL 错误 28 5001 毫秒后解析超时 我也遇到了
  • mysql 中的 SELECT UNION 和 ORDER BY.. 如何?

    我想从单个表中获取所有行 但以不同的方式对它们进行排序 例如我写 SELECT FROM table1 ORDER BY fieldA ASC LIMIT 3 UNION SELECT FROM table1 ORDER BY FieldB
  • 在 Woocommerce 中设置购物车商品价格后重新计算总计

    通过 set price 方法更改产品价格后 如何更改小计价格 现在在review order php中按旧价格计算总成本 cart php foreach WC gt cart gt get cart as cart item key g

随机推荐

  • TFS 2013:同一台机器上的多个构建控制器

    我希望我们可以在同一台机器上使用多个构建控制器 因为我们有许多团队项目集合 但它们不会同时使用 因此这里不存在真正的性能问题 并且我们的大多数构建服务器都不会长时间使用 我知道可以使用 TFS 2010 和 TFS 2012 来做到这一点
  • 提升asio超时[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 boost asio 中设置阻塞套接字的超时 我之前读过一些关于超时的条目 但我不明白 我想要一个定义的连接超时 连接代码如下所示 try boost asio ip tcp resolver
  • 如何将复选框作为 dataGridView 的 ColumnHeader

    我正在 C VS2005 中开发一个窗口应用程序 我有一个 dataGridView 其中第一列有复选框 现在我希望列标题也成为一个复选框 如果我选择列中的所有复选框 则应选择该复选框 我怎样才能做到这一点 我提到了代码项目链接 但如果我使
  • 如何获得以赫兹为单位的 DFT/FFT 输出频率?

    我想开发音符检测器作为我的学位项目 并且我想从头开始 我已经为 wav 文件编写了代码 该文件从该音频音乐文件中提取所有信息并给出振幅 然后我编写了 DFT 代码 它以复数形式输出 其中轴 实数 虚数 之一是幅度 幅度 另一个轴是相位 现在
  • 使用 xmlSerializer.Serialize 和 IEnumerable 对象序列化对象

    我有一个对象 其中包含一个定义为 IEnumerable 的对象 即 Serializable XmlRoot MyObject public class MyObject XmlAttribute public string Name g
  • Jackson:如何在不修改 POJO 的情况下向 JSON 添加自定义属性

    我正在为我的应用程序开发一个 REST 接口 使用 Jackson 将我的 POJO 域对象序列化为 JSON 表示形式 我想自定义某些类型的序列化 以向 POJO 中不存在的 JSON 表示添加其他属性 例如添加一些元数据 参考数据等 我
  • 如何防止 Google Colab 断开连接?

    有没有办法以编程方式阻止谷歌合作实验室超时断开连接 以下描述了笔记本电脑自动断开连接的情况 Google Colab 笔记本的空闲超时为 90 分钟 绝对超时为 12 小时 这意味着 如果用户超过 90 分钟没有与其 Google Cola
  • 为什么 x86_64 CPU 上没有通用寄存器的乘加融合?

    在 Intel 和 AMD x86 64 处理器上 SIMD 矢量化寄存器具有特定的融合乘加功能 但通用 标量 整数 寄存器don t 你基本上需要先乘法 然后加法 除非你可以将东西放入一个lea 这是为什么 我的意思是 它是否毫无用处以至
  • iOS 9 Facebook SDK 登录/分享

    我在 iOS 9 上使用最新的 Facebook SDK 4 6 时遇到了问题 为了授权用户 我使用 FBSDKLoginManager 我尝试过这样设置 loginManager loginBehavior FBSDKLoginBehav
  • 使用 python 将分隔字符串列表转换为树/嵌套字典

    我正在尝试转换点分隔字符串的列表 例如 one two three four one six seven eight five nine ten twelve zero 进入一棵树 嵌套列表或字典 任何易于遍历的东西 真实数据恰好有1到4个
  • powershell 过滤 csv

    由于我是 Powershell 新手 因此寻求有关最佳实践的帮助 我有一个 csv 文件 我想过滤掉 csv 中的每一行 但包含 未安装 的行除外 然后 我想根据包含计算机列表的单独 csv 文件过滤这些结果 并排除包含匹配项的任何行 任何
  • 关闭浏览器窗口后是否有可能如何发送 AJAX? [复制]

    这个问题在这里已经有答案了 关闭浏览器窗口后是否有可能如何发送AJAX 我有一个使用 JavaScript jQuery 进行移动的浏览器游戏 如果我在每次移动后发送 Ajax 这对服务器来说会很困难 所以我想在用户关闭窗口 或书签 时发送
  • 在 C# 中获取重叠的正则表达式匹配

    我有正则表达式1 0 1和测试字符串1000010001 我想要 2 场比赛 但我发现只找到 1 场 var regex new Regex 1 0 1 var values regex Matches intBinaryString va
  • 用于虚拟机映像的二进制差异和补丁实用程序[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我需要经常发布一些软件 并且该软件包含为VMWare磁盘文件 即 vmdk文件 我想要的是某种二进制差异和补丁实用程序 以使生成的增量尽可能小 让我
  • R 中的轮廓图

    我有一组数据 其中包含 项目 关联簇 轮廓系数 如有必要 我可以使用更多信息进一步扩充该数据集 我想在 R 中生成轮廓图 我在这方面遇到了麻烦 因为我遇到的示例使用内置的 kmeans 或相关 聚类函数并绘制结果 我想绕过此步骤并为我自己的
  • 如何在 php.ini 中启用 oci8 (Oracle) 扩展 - PHP 警告:PHP 启动:第 0 行未知

    我有 Windows XP 最近安装了 wamp apache mysql php 32 位 我测试了安装 使用 php 和 apache 连接到 mysql 数据库 一切正常 现在我需要连接到 Oracle 数据库 因此我尝试启用一些扩展
  • jquery on 带/不带选择器参数和 jquery delegate 有什么区别?

    我正在使用jquery 1 10 我想知道这三个函数有什么区别 哪个功能更好 为什么 委托功能的目的是什么 dropdown menu on click show opt menu function alert hello dropdown
  • 毕加索图像缓存

    我想下载以下带有毕加索图像缓存的图像下载代码 DownloadImage downloadImage new DownloadImage downloadImage execute advert getImgUrl private clas
  • 在 SwiftUI 中使用时间间隔的 DatePicker

    我想在 SwiftUI 中使用 DatePicker 它工作正常并且符合预期 我想添加一个时间间隔 如所解释的 UIDatePicker 15 分钟增量 Swift DatePicker Please enter a time select
  • 2 个不同的小查询与 1 个带子查询的查询

    我有这样的桌子 name personal number Jon 222 Alex 555 Jon 222 Jimmy 999 我需要获取每个名字 其中个人号码在表中重复超过 1 个 即结果必须是 Jon Jon 因此 变体 1 SELEC