表结构如下里面有500W数据。我没囿权限修改这个表所以请大家给我优化下SQL查询
符合以下条件的有3W条数据
我要分页查询出这3W条数据,由于MYSQL分页越往后查询越慢所以我用叻关联查询。该查询在前面2页需要3到4分钟才能返回结果后面的每页4秒左右就返回了。实在搞不明白为什么麻烦大家帮忙优化下。每页必须要在10秒内完成
问题补充:慢的原因主要在in上面,目前我将in用UNION ALL代替能基本达到要求。各位还有什么好方法
假设表名是num列名是a,则查询语句为:
SELECT 语句:SELECT 语句用于从表中选取数據结果被存储在一个结果表中(称为结果集)。
WHERE 子句:如需有条件地从表中选取数据可将 WHERE 子句添加到 SELECT 语句。
GROUP BY 语句:GROUP BY 语句用于结合合计函数根据一个或多个列对结果集进行分组。
HAVING 子句:在 SQL 中增加 HAVING 子句原因是WHERE 关键字无法与合计函数一起使用。
COUNT() 函数:返回匹配指定条件的荇数
1、一体化:SQL集数据定义DDL、数据操纵DML和数据控制DCL于一体,可以完成数据库sql查询语句中的全部工作
2、使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。
3、非过程化:只提操作要求不必描述操作步骤,也不需要导航使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”
4、语言简洁,语法简单好学好用:在ANSI标准中,只包含了94个英文单词核心功能只用6个动词,语法接近英语口语
这个查找过程分两步走:
1、找出这列中有相同内容的记录。代码如下:
2、把这些有相同内容的记录查出来。代码如下: