根据一组 id 主键值,使用sql语句能否获得对应的记录? 例如:select * from sichuan where id=12 or id=14 or id=100 or id=60 or id =100 or id=20………………………………因为id可能很多很多,N千个也可能,这样的查询是否会有效率影响?是否有更好的sql语句? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、肯定会影响效率;2、用ID IN()形式;3、如果太多,存入表中,再连接。 是有影响。1、给ID建个索引,MYSQL会有自己的优化方式。2、把所要匹配的ID存放表,比如B。select a.* from sichuan as a, B where a.id = b.id; 那不是要将id insert table这不是一个数据冗余和添加数据库操作吗? 如果那部分id是上面程序动态算出来的,用 ID in (....) 的方式。如果是联查出来的,并且可以建立索引的话,就用 inner join 联查的方式。综合考虑,还是推荐采用 ID in (....) 的方式。 如果那部分id是上面程序动态算出来的,用 创建临时表,就ID 一个字段让后用inner join联查。 如果是联查出来的,并且可以建立索引的话,就用 inner join 联查的方式。 一般不推荐采用 ID in (....) 的方式,用in有效率的问题。 MySQL数据库 select不到内容 access denied for user ''@'localhost'(using password:NO) 求解sql语句? 关于大量数据更新的性能 MySQL触发器 mysql的字段sum计算的值错误!! 十万火急,关于sqlserver2000的一个简单问题 在使用mysql的过程中可否和linux一样切换用户 求一个处理重复行的高效语句,有1万条数据 xampp中的mysql数据库怎么用控制台操作么 MySQL 实现中英文混合排序,,,,, 用程序得出1025+129的十进制和十六进制结果。
2、用ID IN()形式;
3、如果太多,存入表中,再连接。
2、把所要匹配的ID存放表,比如B。
select a.* from sichuan as a, B where a.id = b.id;
那不是要将id insert table这不是一个数据冗余和添加数据库操作吗?
如果是联查出来的,并且可以建立索引的话,就用 inner join 联查的方式。
综合考虑,还是推荐采用 ID in (....) 的方式。
如果是联查出来的,并且可以建立索引的话,就用 inner join 联查的方式。
一般不推荐采用 ID in (....) 的方式,用in有效率的问题。