总记录数
数据查询时返回一页的数据和总记录数,总记录数用于在界面上分页显示数据。如下图所示,一共有1123条数据,每页显示20条数据,一共显示57页。
查询第一页数据
查询第二页数据
分页查询数据时,请求参数中包括分页数据大小 limit 和偏移量 offset,表示从第几行开始,查询多少条数据。
查询结果返回时,响应体 body 中是查询到的数据,响应头中 Content-Range 显示查询到的数据的:起始行数 - 截至行数 / 总记录数,见下表
查询页数 | 请求参数 | 响应头 Content-Range |
---|---|---|
第一页 | limit=20&offset=0 | 0-19/1123 |
第二页 | limit=20&offset=20 | 20-39/1123 |
特别说明
- 总记录数只在查询第一页数据时,查询一次。即便如此,当数据太多时,计算总记录数会耗时,导致查询缓慢
- 其实数据量少时,总记录数很重要;数据足够多时,总记录数已经不那么重要
数据组件提供三种查询总记录数的模式,见下表,默认为精确计算
总记录数模式 | 说明 | 请求头 X-Calc-Total | 响应头 Content-Range |
---|---|---|---|
精确计算 | 查询总记录数 | exact | 0-19/1123 |
优化计算 | 数据表中的记录数,在1002条以下,查询总记录数, 在 1002条以上,不查询总记录数 |
limit=1002 | 0-19/500,0-19/* |
不计算 | 不查询总记录数。当查询到的记录数小于分页数据大小, 认为是最后一页,此时会返回总记录数 |
none | 0-19/*,0-6/7 |
开发时,预计数据量最终会很大时,可将数据组件的“总记录模式”设置为“优化计算”,当数据量大于1002条时,不计算总记录数,实现数据查询的优化。
开发者不使用数据组件查询数据时,可设置请求头,实现总记录数模式。