文档中查询页码不超过100原因?
creasy2010 opened this issue · 3 comments
creasy2010 commented
Description
请问文档中页码不超过100,是基于什么考虑的?
① "count":Integer,查询数量,0 表示最大值,默认最大值为100
② "page":Integer,查询页码,从0开始,默认最大值为100,一般和count一起用
期望:页码数量不限,count数量可以限制;
TommyLemon commented
1.支持调整最大值,见常见问题与提问前必看
2.默认是用 LIMIT OFFSET 分页,MySQL 等数据库对于分页是取 count*(page + 1) 条数据再丢掉前 count*page 条,大分页性能很差,容易导致慢查询甚至拖垮数据库
3.大部分业务需求都不需要也不应该提供超过 100 页的分页,正常用户正常使用不会一页页翻这么多,而是通过搜索等条件来过滤,反而是爬虫、黑客等会需要利用这种安全漏洞
4.Google、百度 搜索,阿里大鱼短信、百度地图 等各大企业的各种流行软件,几乎都把分页数量限制在了 100 以内,甚至 20 以内,每页数量甚至限制在 50 以内
yangzhixi commented
@TommyLemon "page":Integer,查询页码,从0开始,默认最大值为100,一般和count一起用
这个设计有先入为主之嫌了。容易造成迷惑,干扰业务系统,比如内网ERP数据库有500分页,接口只可调用前100?
建议放开默认,优化由用户把握。
TommyLemon commented
@yangzhixi
常见问题与提问前必看有说明:DemoParser 重写 getMaxQueryPage
18.如何一次性查全部数据/如何一次性查所有表记录?如何查询每页超过 100 条?如何查询超过 100 页?query:2 为什么不能查全部数据?
#36