企业如何在自己的网站上做宣传,有哪些网站可以做微商,外贸网站建设费用,西安网站建设公司有哪些项目场景#xff1a;
最近在做数据迁移的工作#xff0c;会员库有200多万数据#xff0c;组织机构有4万数据。要把这些数据迁移到新系统的数据库中#xff0c;开发新系统之前完全没考虑过数据量。当数据导入之后#xff0c;页面就各种报错。。。。。。。。。。。。。。。…项目场景
最近在做数据迁移的工作会员库有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查询效率高这么多