数据查询时,查询速度和查询次数的比较
其实我也不知道标题是不是应该这样写,因为想不到更好的标题了。
问题的来源是:
比如页面上有一个列表项是来自数据库。列表页上每页列出十项数据,有分页,还有“总共xx条”的显示项。
现在有两种数据查询方式:
一种是,select * from table;将所有的数据都查询出来,统计返回多少行的数据,将这个数据显示在“总共xx条”这里,然后再从得到的数据里面截取用户要求的第n页数据。
我看到有几个软件是这么写的。(php的),我觉得这样是少了查询次数,但是查询速度会不好吧,犹其是数据量很大的时候,要是数据库在远程就更死翘翘了。
另一种是用两个语句,先用select count('id') from table 得到总共的数据条数,显示在“总共xx条”,然后用select * from table where page = n;查询出用户要求显示的第n页数据。
我觉得这个方法会好点,查询会快点。但是问题是,如果页面上有很多查询项,比如dz的帖子列表项,有那么多用户,每个用户的用户信息,每个用户的权限,每个用户发的帖子,等等,这些都不在同一个表里,难道都是分多次分别查询的吗?
求解答,平时要不要尽量查询少点信息,但是可以多查几次,这样好不好。
问题的来源是:
比如页面上有一个列表项是来自数据库。列表页上每页列出十项数据,有分页,还有“总共xx条”的显示项。
现在有两种数据查询方式:
一种是,select * from table;将所有的数据都查询出来,统计返回多少行的数据,将这个数据显示在“总共xx条”这里,然后再从得到的数据里面截取用户要求的第n页数据。
我看到有几个软件是这么写的。(php的),我觉得这样是少了查询次数,但是查询速度会不好吧,犹其是数据量很大的时候,要是数据库在远程就更死翘翘了。
另一种是用两个语句,先用select count('id') from table 得到总共的数据条数,显示在“总共xx条”,然后用select * from table where page = n;查询出用户要求显示的第n页数据。
我觉得这个方法会好点,查询会快点。但是问题是,如果页面上有很多查询项,比如dz的帖子列表项,有那么多用户,每个用户的用户信息,每个用户的权限,每个用户发的帖子,等等,这些都不在同一个表里,难道都是分多次分别查询的吗?
求解答,平时要不要尽量查询少点信息,但是可以多查几次,这样好不好。
...全文
相关推荐
百万数据查询优化技巧三十则
标题:百万数据查询优化技巧三十则描述与标签:本文旨在分享在处理大规模数据库时,如何通过优化SQL语句来提升查询效率的三十个实用技巧。
05讲-数据查询与优化 new1
在实际应用中,开发者需要根据具体场景灵活选择和调整策略,以确保数据查询的性能和响应速度。
巧用SQL的查询技术.pdf
触发器则在满足特定条件时自动执行,常用于实现业务规则。通过掌握这些基本概念和技术,开发者可以有效地利用SQL进行数据查询和处理。
SQL语句全优化文档
SQL语句优化是数据库性能调优的关键环节,其目的是提高数据查询速度,降低服务器资源消耗。以下是一些关于SQL语句优化的重要知识点:1.
10.21-简单查询.sql
合理创建和使用索引可以显著减少数据库在查询时的I/O操作次数,从而加快查询速度。对于复杂查询,还可以使用JOIN子句来合并来自两个或多个表的数据。


