$db->Query("select h.id,h.name,h.phone,min(r.MemberRate) as MemberRate from tbl_roomprice r left join tbl_hoteldetail h on h.hotelId =r.hotelId group by name;");
这条语句 查询的数据有点多了 怎么优化啊 查出来的内容要分页显示 10条一页
我都已经实现了 就是页面响应太慢 经理说不行 让我优化下 这怎么优化啊??求求求大神啊
从sql本身来看,基本上没有优化的余地了,如果数据量过大造成的缓慢,
可以考虑使用sql分页语句:
(即分页由sql完成,并不是由PHP完成)
你要告诉我用的是什么数据库: mysql? mssql? oracle?
如果不用sql分页语句去写,只能从数据库上工夫。
1. 将几个table 的 hotelId 字段, name字段 分别建立索引。
2. 建立分表,将大数据分之。
可以考虑使用sql分页语句:
(即分页由sql完成,并不是由PHP完成)
你要告诉我用的是什么数据库: mysql? mssql? oracle?
如果不用sql分页语句去写,只能从数据库上工夫。
1. 将几个table 的 hotelId 字段, name字段 分别建立索引。
2. 建立分表,将大数据分之。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-12-26
建议缓存数据表,也 就是查询结果直接存放于另一个表
你这个表联接。加上group还有min,以及分页,索引根本没有作用。。
所以考虑缓存的方法将数据事先准备好。。。。追问
你这个表联接。加上group还有min,以及分页,索引根本没有作用。。
所以考虑缓存的方法将数据事先准备好。。。。追问
`````完全不懂缓存技术···新手小白一枚=_=!
追答先把查询出来的结果新建一个表,然后全部存进去。。等时效过来删除重新存。这就是缓存。。
你用户访问时,查询新建的表。。。
这也是个好办法啊 不过我的问题已经解决了 多谢您传授新知识 谢谢!