mysql数据查询,共有5000条数据,要有三种返回结果。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据查询,共有5000条数据,要有三种返回结果。相关的知识,希望对你有一定的参考价值。

查询条件为: a=1,a=2,a=3,a=1的查出最新的5条,a=2的查出最新10条,a=3的查出最新6条。 有两种查询方式:第一种是查询三次,得到三个数组。第二种是把所有的5000条数据都查询出来,再用php循环区分分别赋予三个数组。请问那种方法对mysql的资源占用最少,更为效率,或者有没有其它更好的解决方案。求指教!

通过mysql三次查询,出三个数组。。如果访问量大的话数据三个数据缓下来,简单的可以把数组写入文件,当文件不超时时间调用文件,不再查询。。当文件超时重新查询数据库并更新文件。 参考技术A 给你介绍一种 效率更高的查询吧,使用存储过程。
把 a 作为参数,a=1,a=2,a=3,分别 order by id desc limit 5 或者 10 或者 6。
sql:

CREATE PROCEDURE `GetInfo`(in a_type int)

BEGIN

declare stmt varchar(8000);

declare limitV varchar(10);
set limitV = '5' ;
if a_type = 1 then
set limitV = '5' ;

else if a_type = 2 then
set limitV = '10' ;

else if a_type =3 then
set limitV = '6' ;
end if;

SET @SQL = Concat(" select * from 你的表 order by id desc limit ", limitV );

prepare stmt from @SQL;
execute stmt;
deallocate prepare stmt;

END

// 调用

call GetInfo (1);

call GetInfo (2);

call GetInfo (3);
参考技术B 第一种你要遍历数据3次吧

MySQL中的注释(有三种)

MysQL支持三种注释:

1、#...    (推荐这种,具有通性)
2"-- ..." (注意--后面有一个空格)
3/*...*/

 

以上是关于mysql数据查询,共有5000条数据,要有三种返回结果。的主要内容,如果未能解决你的问题,请参考以下文章

mysql不走索引5000条数据要多久

sql语句问题,搜索前5000条数据再过滤

Python基础-操作mysql

MySQL数据库的警告问题,怎么解决

爬虫学习——URL管理器和实现方法

浅谈PHP连接MySQL数据库的三种方式