Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

文档中查询页码不超过100原因? #484

Closed
creasy2010 opened this issue Nov 29, 2022 · 3 comments
Closed

文档中查询页码不超过100原因? #484

creasy2010 opened this issue Nov 29, 2022 · 3 comments

Comments

@creasy2010
Copy link

creasy2010 commented Nov 29, 2022

Description

请问文档中页码不超过100,是基于什么考虑的?

① "count":Integer,查询数量,0 表示最大值,默认最大值为100

② "page":Integer,查询页码,从0开始,默认最大值为100,一般和count一起用

期望:页码数量不限,count数量可以限制;

@TommyLemon
Copy link
Collaborator

TommyLemon commented Nov 29, 2022

1.支持调整最大值,见常见问题与提问前必看

2.默认是用 LIMIT OFFSET 分页,MySQL 等数据库对于分页是取 count*(page + 1) 条数据再丢掉前 count*page 条,大分页性能很差,容易导致慢查询甚至拖垮数据库

3.大部分业务需求都不需要也不应该提供超过 100 页的分页,正常用户正常使用不会一页页翻这么多,而是通过搜索等条件来过滤,反而是爬虫、黑客等会需要利用这种安全漏洞

4.Google、百度 搜索,阿里大鱼短信、百度地图 等各大企业的各种流行软件,几乎都把分页数量限制在了 100 以内,甚至 20 以内,每页数量甚至限制在 50 以内

@yangzhixi
Copy link

yangzhixi commented Apr 25, 2023

@TommyLemon "page":Integer,查询页码,从0开始,默认最大值为100,一般和count一起用
这个设计有先入为主之嫌了。容易造成迷惑,干扰业务系统,比如内网ERP数据库有500分页,接口只可调用前100?
建议放开默认,优化由用户把握。

@TommyLemon
Copy link
Collaborator

TommyLemon commented Apr 25, 2023

@yangzhixi
常见问题与提问前必看有说明:DemoParser 重写 getMaxQueryPage
18.如何一次性查全部数据/如何一次性查所有表记录?如何查询每页超过 100 条?如何查询超过 100 页?query:2 为什么不能查全部数据?
#36

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants