sql中使用了in直接卡死

项目场景:

最近在做数据迁移的工作,会员库有200多万数据,组织机构有4万数据。要把这些数据迁移到新系统的数据库中,开发新系统之前完全没考虑过数据量。当数据导入之后,页面就各种报错。。。。。。。。。。。。。。。


问题描述、分析

数据导入之后,页面就开发各种报错。主要的报错就是我写的一个sql用了in,导致sql卡死。还有个问题就是组织机构树一次性返给前端,前端还自己做了搜索,也无法顺利加载,当然这个改成懒加载就好了。

下面主要分析我卡死的sql吧。我的sql主要逻辑是,查询下级部门所有的会员。我是先查询的下级所有部门id,在去会员库中使用in(部门id),有些部门下级部门很多的有上千的id。这样就直接卡死了。

select * from user where dept_id in (1,2,.......................................................)

按照我的理解,最不多不就是不走索引嘛。为啥会卡死啊,搞不懂(ps:这种写法还他妈容易直接sql超长,直接报错)

解决方案:

把in改成连表查询,因为in里面的数据是我先从另一个表查的。改成连表查询之后sql执行时间直接1s了。

求解:我连表查询也没有走索引呀,按道理查询效率不是一样么,为啥连表查询比in查询效率高这么多?

相关推荐

  1. sql使用in直接

    2024-03-28 23:44:01       44 阅读
  2. react17使用setState导致循环

    2024-03-28 23:44:01       43 阅读
  3. SQL IN 列表的最佳使用情况

    2024-03-28 23:44:01       46 阅读
  4. QT总结-使用QOpenGLWidget后界面刷新

    2024-03-28 23:44:01       57 阅读
  5. 内存马如何排查(不马)

    2024-03-28 23:44:01       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 23:44:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 23:44:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 23:44:01       87 阅读
  4. Python语言-面向对象

    2024-03-28 23:44:01       96 阅读

热门阅读

  1. python学习

    2024-03-28 23:44:01       43 阅读
  2. 爬虫框架Scrapy从创建到使用

    2024-03-28 23:44:01       41 阅读
  3. 移除元素——leetcode[1]

    2024-03-28 23:44:01       37 阅读
  4. SQL优化

    2024-03-28 23:44:01       43 阅读
  5. c++部分题

    2024-03-28 23:44:01       46 阅读
  6. 苹果病虫检测

    2024-03-28 23:44:01       38 阅读
  7. 防抖和节流的概念及区别

    2024-03-28 23:44:01       38 阅读
  8. 2024年数字IC秋招-沐曦-GPU验证-笔试题

    2024-03-28 23:44:01       38 阅读
  9. 【 [蓝桥杯 2013 省 B] 翻硬币】

    2024-03-28 23:44:01       45 阅读
  10. 初入C++

    初入C++

    2024-03-28 23:44:01      42 阅读