mysql 查询 in包含的数组太多怎么提升效率?

SELECT * FROM table WHERE classid IN (199,200,201...........有600多个)

9个回答

创建一个临时表,表内的数据为in里面的数据,并将该列设置为PK,
然后用左连接就OK了~~
比如

CREATE TABLE name1 (col1 int not null primary key)
然后把那些in的数据放这里面去
然后select tb1.* from table tb1 left join name1 tb2 on tb1.classid = tb2.col1

这里有个参考的地址,你可以看看
https://blog.csdn.net/pengyufight/article/details/77523404

数据库in的参数是有限制的吧,最好看下官方文档对in的限制个数,如果in的参数固定,好将参数放到表中,通过关联查询去搞

先子查询再连接查询,加上索引肯定会好很多。

如果传进来的是一个参数列表的话 ,那么可以通过遍历的方式,循环来查。

同意加参数进行限制查询,一次查询太多,页面加载会很慢

SELECT * FROM table WHERE classid between 199 and 600 是连续的就用这个

in太多内容的话,,建议创建临时表,,然后关联查询,查询完毕后把临时表删掉

使用exists比较好

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MySQL提升效率之limit
分页查询在我们的实际工作中经常会遇到,但是对于不同的数据库,分页查询的实现方式也不一样。而在MySQL中的分页就是靠limit实现的,可是limit的效率怎么样呢,我们来看看。 我们在写代码的过程中,不仅要关注功能的实现,还要考虑其性能的优化。如何写出高质量的代码,那需要我们多看源码,多思考自己代码。不管多大的成就,都是靠一点点努力积累起来的,just do it.
mysql 查询数组包含的id
字段数据(varchar) 数据1:1,3,5,7,9 数据2: 1,13,5,3,5 数据3:1.31,1,5,6 怎么精确的找出包含id为3的 数据呢? like '%3%' ?  明显不行 苦思冥想:like concat('',',3,','')  测试成功
工作中怎么提升效率
1.熟悉使用一款文本编辑器Notepad++ 2.熟练使用Excel 3.doc命令,工具的使用 后续继续。。。
这样的查询怎样提升效率?????
环境是VS2005,一个小功能用Access数据库作临时表rnrn此功能的其中一部分是对表A进行查询,表A的关键字段有X1,Y1,X2,Y2,这4个字段代表了一条线段的两个端点的坐标值,其中X1一定大于X2rnrn这个查询功能中,表A有N行就要进行约N次查询,比如说我的实验数据有1200万行,就要进行约1200万次查询,所以我想此功能的耗时是跟行数的平方成正比rnrn表A已对X1,X2字段分别建立索引rnrn请问还有什么方法提高效率
mysql 怎么 查询 包含字段
维护一个表,就两个字段rnrnrnuid: 用户id, 主键。rndatas: 推荐关系。数据格式如 ,0,1,2,3,4,5,6,------n,每个数字代表一个用户的id。rnrnrnrn[img=https://img-bbs.csdn.net/upload/201801/14/1515925926_29373.png][/img]rnrnrn上图,就是两个字段 第一个逗号 分开,rnrn比如,我想查询 字段2 datas 包含 2366 的 数据。rnrn有很多种方法,比如 like left substring 等,我想请教,还 有不有哪种最 快的方法,或者说能 使用 到索引。。rnrnrnrnrnrn
mysql查询的效率问题
select distinct(a.circulationno) circulationno, a.userid userid, c.empname username, a.subject subject, a.content content, a.savingperiod savingperiod, a.attachflag attachflag, a.status status, a.createtime createtime, '1' timepass, '0' candelete from tb_circulation a, tb_circulationlabel b, tb_empbaseinfo c where a.circulationno=b.circulationno and a.status = '1' and a.userid=c.id and (a.userid=509 or (b.labeledflag = '1' and readerid=509)) order by a.createtime descrnrntb_circulation表有8000条记录rntb_circulationlabel表有220000条记录rntb_empbaseinfo表有500条记录rn已在a,b中circulationno字段建立索引rn 现在执行上面这条sql语句需要5秒钟,系统响应显得很慢,以前大概是不到1秒,最近变慢了。大伙帮看看有没有办法来优化使它快一点。sql语句是固定在程序中了,不能动,现在只能从数据库着手。rnrn 另外,听说此版有位狼头大哥是高手,能否抽空赐教?谢谢!
mysql 查询的效率问题
select record_minute, max(query_per_second),domain_name,query_per_second,delay from top_normal_domain_minute where record_minute between unix_timestamp('2009-11-03 13:31:29') and unix_timestamp('2009-11-12 13:31:32') group by domain_name order by max(query_per_second) desc limit 0,10;rn大家请看,这条sql语句的语义是,查询数据库表中某时间段内,查询量(wyery_per_second)最多的域名(排在前10的)。rn但是执行这条sql语句的时候却发现速度异常得慢,怎么优化它。我的qq:346985049,一直在,如果有高手看到的话,请帮帮我
Mysql查询in和exists的效率
一直以来用都是Oracle数据库,DBA告诫我们说,能用exists就不要用in 最近的项目中使用Mysql,也一直遵照这个理论,但是在压力测试时就发现了问题,很多SQL执行奇慢无比,表的数据量接近百万。 各种Google,查询效率分析,添加索引都不能满足时效要求。 各种分析之后得出结论如下: mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表
请教mysql 效率查询
rn有两个数据库,分别为T1(1400万数据)和T2(800万数据)。rnrn这是T1表中的一条数据记录:rnCityCode = 11000、x= 86123451, y = 11234510rnrn现在需要去T2表中查找与之匹配的行。rn要求 :城市代码(可以是省份代码)相同、经纬度相差值4800(数据库中的经纬度已经处理过了,不是原值)rnrnrn下面是我的select语句,现在求效率更高的select语句。rnselect CityCode, x, y from T2 where [color=#FF0000]CityCode [/color]= 11000 and ABS(x-86123451) < 4800 and ABS(y-11234510) UNION ALL select CityCode, x, y where [color=#FF0000]ProvCode [/color]= 11000 and ABS(x-86123451) < 4800 and ABS(y-11234510)
有序整形数组,提升效率的折半查找算法
int main()//折半查找算法 { int a[] = { 1,2,3,4,5, 6,7,8,9,10 };//例举一个整型有序数组 int mid = 0, left = 0, right = 0,key=0;//mid表示正在查找的中间数组的下标,left表示正在查找的数组中的左部分,right表示右部分 printf(“pleae input What n
Python-DBUtils 使用mysql数据库连接池提升效率
随着全网扫描项目的开发,越来越细致的问题暴露出来,从能用到用的好,还有很长的路要走。 这个问题前段时间就发现了,程序一般跑个一天会越来越慢,直到某个时候程序彻底崩了,而且最后的报错也一般是mysql的报错: pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query ([Errno 10...
mysql 随机查询,,效率优化
select * from bl_keylist where Title like '%bags%' or Title like '%handbags%' order by rand() limit 0,12  效率太低了点。。 换成这样 SELECT * FROM bl_keylist AS r1 JOIN (SELECT ROUND(RAND() * (SELECT MA...
提升输入效率代码
lrj《算法竞赛入门经典训练指南》中直接参考代码的,感觉挺有用,就单独拿出来当模板记了。 poj上一道线段树改位运算还是TLE,迫不得已,就借鉴这个试试,果然过了。然后之前国王的烦恼看分数也八九 不离十,就代入了一下,提升了输入效率,结果算是勉强过了数据,终于AC了~~~ lrj书中原话:最常用的Scanner类通常比scanf系列慢5~10倍,应尽量避免;下面的代码包装了速度较快的 Bu
SCOPUS提升科研效率
Scopus是当今世界最大的文摘和引文 数据库,是由世界上最大的学术性期刊出版商荷兰Elsevier出版公司2004年推出的产品。
如何提升SQL效率
如何提升运行效率。要从硬件,软件,配置各个方面进行优化
linux提升效率的常用命令
tab:命令或路径补全键 Ctrl +c :终止当前任务命令或程序 Ctrl +d :退出当前用户环境,相当于exit Ctrl +Shift+c ssh客户端ssh里复制的命令 Ctrl + a到开头 Ctrl + e到结尾 Ctrl + u 删除所在行光标之前的所有内容 Ctrl + k 删除所在行光标之后的所有内容 Ctrl + w 删除一个词 ...
电脑效率提升工具推荐
开发效率提升:Mac生产力工具链推荐 Chrome插件英雄榜
if语句的使用(效率提升)
问题描述:   根据用户给定的月份,实现对该月份所在季节的判断?      3月,4月,5月       --&amp;gt; 春季               6月,7月,8月       --&amp;gt;夏季               9月,10月,11月   --&amp;gt; 秋季               12月,1月,2月     --&amp;gt;冬季                    ...
python提升效率笔记
dict(zip(['one', 'two', 'three'], [1, 2, 3]))  # 映射函数方式来构造字典 {'three': 3, 'two': 2, 'one': 1} cmp(x,y) 函数用于比较2个对象,如果 x &amp;lt; y 返回 -1, 如果 x == y 返回 0, 如果 x &amp;gt; y 返回 1。 python divmod() 函数把除数和余数运算...
效率提升工具
效率提升工具效率提升工具 浏览器插件 LeechBlock Firefox StayFocusd Chrome ReadabilityChrome扩展书签 Windows 应用 Dark Room CreaWriter Q10 WriteMonkey Typewriter NT插件 Iconfont 图片组合 Cloverhttpcnejieme ListaryListary - Fabulous
提升windows效率的软件
1、everything:搜索 2、wox:综合性的小软件,启动,搜索,命令 3、Clover:将文件夹用网页标签的形式管理 4、Listary:搜索,据说比everything好 5、MacType,苹果字体,其实我没有看出来。
如何提升ListView的效率
ListView的优化方案  首先,默认直接使用ListView的效率是非常低的,在Adapter的getView()方法中,每次都将布局加载了一遍,当它快速滚动的时候就会性能下降。   1,在getView()的参数中还有一个View 类型的convertView参数,它用于将之前加载好的布局进行缓存,以便之后的重用。我们可以先判断converView是否为空,如果为空,则使用LayoutI...
简单代码效率的提升
争取写出高效、精简的代码
如何提升SqlBulkCopy的效率
在sql server 2005有一张大表,存一个月的数据,一个月有几千万数据,使用的是sqlbulkcopy进行批量导入,一次导入几百条数据,调用很频繁。最近数据量增大,往往入库效率很低,500条数据需要2秒钟,造成前面大量数据积压。rn我知道索引会造成入库效率低下,这张表也确实有几个非聚集索引,可是用户也需要能够实时的查询数据,如果入的时候禁用索引,同时再有查询就会很慢。rn不知有什么方法能够提升入库效率呢,比如一批入库的量多一些?或者跟其他设置有什么影响比如日志。rn这个数据库的恢复模式是simplernrn还有我们也有另外一个库,结构完全一样,数据库也基本一致,但另一个库就表现的比较好,不知道为什么。唯一的区别就是表现好的库,用户没怎么用,没什么其他查询操作。
用多线程提升效率
用winform做了个群发短信,用来给客户发送相关信息,当客户量非常多的时候,比如发完10000完短信就要等很长时间,程序常出现假死,很不。。,,有没办法改进下,多线程本人不太懂,请高手修改下代码:rn[code=C#]rn//str1-9 的定义就不贴了rnIList messList = new SQLServerDAL.sendMes().GetAllList(" *", null, "id desc");rnrn FULLTUNNELCONTROLLib.FullTunnelServiceControlClass my = new FULLTUNNELCONTROLLib.FullTunnelServiceControlClass();rnrn int successNum = 0;rnrn for (int i = 0; i < messList.Count; i++)rn rn rn str5 = messList[i].mobilephone.ToString(); //手机号码rn int ErrorMessage = Convert.ToInt32(my.FullTunnelServiceControl(ref str1, ref str2, ref str3, ref str4, ref str5, ref str6, ref str7, ref str8, ref str9));rnrn if (ErrorMessage.ToString() == "1")rn rn successNum = successNum + 1;rn rn rn rn this.txtmessage.Text = "总共 " + messList.Count + " 条短信 " + " 发送成功 " + successNum.ToString() + " 条短信";rnrn MessageBox.Show("发送完毕");rn[/code]rnrn如果能加上进度条就很好了,一定另外加分
关于提升效率的思考
明确目标,最好能清楚的知道具体实施的步骤。 预见性。能大致的知道未来一段时间内发生的事情 专注力,可以分为好奇心,压力,对外在兴趣的排斥力。
[CSAPP]提升代码的效率
当我们想要写出效率极高的代码的时候, 我们一般要做到下面两个方面: 有效的算法和数据结构 理解编译器的性能和局限性编译器的作用和局限性虽然一般的编译器都可以在某些方面提高代码的质量, 但是他们对代码的优化总是遵从下面的几点: 不能改变程序的行为 对程序的行为和所处的编译环境所知甚少 快速编译程序的需求 观察下面的代码:void twiddle1(int* xp, int* yp) {
效率提升问题
题目描述: 某建筑公司承保了Z市的一条道路的翻新工作,新来的实习生小张将整个工程分为了n道工序,按顺序进行每一步工序,每一步工序都是将某一段区间[Li,Ri]的路段进行整修,作为经理的你发现了小张的安排存在问题,许多工序是不必要的。但是因为人员分配已经安排下去了,考虑到多方面的因素,当工序x在工序y之前执行且工序y的区间完全包含了工序x的区间(x&amp;lt;y且Ly &amp;lt;= Lx &amp;lt; Rx ...
chrome效率提升
一、chrome 可以设置启动时打开特定网页,提高效率 ,只有首次启动chrome才会打开 ,当打开多个chrome窗口时,只有第一个窗口是应用配置的。二、可以备份chrome的标签,直接在新得chrome中导入使用三、可以设置chrome地址栏默认的搜索引擎
测试阶段效率如何提升
项目测试组讨论出以下几个改进点,不展开说明了: 1.评审开发的单元测试用例 2.开发完成一个模块后,就进行minishowcase,叫上产品/策划、ui、开发,尽早发现需求偏差和之前未考虑到的细节问题 3.UI出图后就开始评审,而不是等原型确定后才开始评审 4.给开发指定自测的checklist --> 把用例分级1、2、3,要求开发自测1级用例
提升程序效率的法宝
01 数据库索引 02 多线程 03 多进程 04 分布式
NBU备份之效率提升
NBU备份效率提升 使用Netbackup备份过程中,有些即使分配了多通道但备份速度极不理想,那极有可能是因为Netbackup的一些参数设置过于保守,本篇介绍可能影响备份速度的一些参数,以及修改方式
工作中提升效率的工具
本文主要介绍下工作中提升效率的工具: 首先是浏览器chrome/firefox,有很多有用的插件护眼模式 github octree 查看插件 收藏夹插件 免密码输入LastPass 广告屏蔽插件AdBlock 直接打开书签插件Holmes youtube视频下载 文本编辑器win10下面Nodepad++, ubuntu下面Nodepadqq win10下面文件查找工具 everything 视
提升笛卡尔乘积效率
最近项目的计算节点用的最多的是一个笛卡尔乘积算法,由于字典集合比较多,总高度有时会达到很高的一个量级,例如:1G。这样笛卡尔算法所 耗费的时间将很大,如何提交笛卡尔算法效率已经是当务之急。   笛卡尔乘积的算法很简单,复杂度就摆在这里O(high*n) :n指字典集合个数,high是所有集合的高度乘积。复杂度没法降低,所以我们从循环里面的运算下手,尽量降低循环内的计算,性能有所提升,下面是老版笛
AndroidStudio提升打包的效率
前言: AndroidStudio的代码结构和eclipse不同,它可以提供单工程多module的形式。虽然这种方式对于一些场景来说很方便编码,但多建立一个module就需要多维护一个module。所以如果仅仅是为了方便写代码而建立一个module是会降低应用打包速度的,一些简单的结构就没比较建立一个module。 这个项目中的module有很多,所以gradle在编译的时候会去检测m
提升代码的效率--复用
HTML代码a标签执行方法/*严谨写法*/ <a href="javascript:void(0)" onclick="del('id')"></a> <a href=javascript:del('id'); >删除</a>ps: a href=#与 a href=javascript:void(0) 的区别 http://blog.csdn.net/fightplane/article/de
如何提升读取文件的效率
现在要读入一个有上千万条数据的文本文件,我用rn openFileDialog1.Filter="文本文件(*.txt)|*.txt";rnrn if (openFileDialog1.ShowDialog()== DialogResult.OK)rn rn StreamReader sreader = new StreamReader(new FileStream(openFileDialog1.FileName, FileMode.Open), System.Text.Encoding.Default);rn //循环读取文本文件中的数据rn while (sreader.Peek()>0)rn rn string str = sreader.ReadLine();rn string[] strInfo = str.Split(new char[] ' ' );rnrn string strID = strInfo[0].ToString();rn string strCode = strInfo[1].ToString();rnrn如果是一行一行读是否会影响到读取的效率,怎样提升读取的效率
提升hive效率的最佳实践
表相关 存储格式: 避免使用text,JSON,有可能的haul也应避免sequence文件; 理想的格式是RCFile (Row Columnar File) 压缩: block compression 比 value compression更高效,最终结果及中间结果都应压缩, set hive.exec.compress.output=true;set hive.exec.comp...
提升Heritrix3.1.1的抓取效率
  Heritrix3.1.1是老外写的爬虫,可配置性非常好,但是有一点不好,老外很懂礼貌,所以这个爬虫也很懂礼貌,爬起来非常的慢,1万多个链接,一天也爬不完。 仔细研究它的源代码和文档,网上的文档非常的少,基本要看源代码。 根据网上的这篇文档https://webarchive.jira.com/wiki/display/Heritrix/Politeness+paramet...
安卓开发提升效率必备
1.不要重复造轮子,你可以多看这篇文章: android开发,拒绝重复造轮子(持续更新) 2.android android studio 如何下载插件: 设置--&gt; 搜索:plugin --&gt; 点击 --&gt;搜索你要的插件并下载 3.Kotlin解析返回数据,创建bean: android studio 安装插件JsonToKotlinClass(返回的数据...
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数