mysql – 查找两列之间的交集
发布时间:2020-12-30 16:26:01 所属栏目:MySql 来源:互联网
导读:我试图找到MySQL中同一个表中两列之间的(集)交集.我基本上想要找到具有表格col2中的col1元素或表格col1中的col2元素的行.最初我尝试过:SELECT * FROM table WHERE col1 IN (SELECT col2 FROM table) 这在语法上是有效的,但运行时间太长了.表中的行数约为300,
|
我试图找到MySQL中同一个表中两列之间的(集)交集.我基本上想要找到具有表格col2中的col1元素或表格col1中的col2元素的行. 最初我尝试过:
这在语法上是有效的,但运行时间太长了.表中的行数约为300,000,并且未对两个列进行索引.我假设运行时间是n ^ 2或n ^ 3,这取决于MySQL是否为表的每个元素再次执行子查询,或者它是否临时存储子查询的结果. 接下来我想到了两列的并集并删除了不同的元素,因为如果一个元素在这个联合中出现多次,那么它必须存在于两列中(假设两列只包含不同的元素). 是否有更优雅(即更快)的方法来查找同一个表的两列之间的集合交集? 最佳答案
在col1和col2上创建索引对于帮助此查询也有很长的路要走. (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- php – 无法在codeigniter中从模型获取整个数据值
- MYSQL数据库mysql 5.7安装 MySQL 服务无法启动但是服务没有
- php – 清理整数时使用intval和real_escape_string
- 有没有合理的理由在TCP / IP上使用Unix套接字和mysql?
- Mysql应用Mysql启动中 InnoDB: Error: log file ./ib_logfi
- java – 如何对OK的JOptionPane.showMessageDialog执行操作
- 有条款的MySQL未知列
- Mysql应用详解Mysql多表联合查询效率分析及优化
- mysql – 创建行与列性能
- mysql – 如何为当年的每个月创建一个分区
推荐文章
站长推荐
热点阅读
