用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3231|回复: 6
收起左侧

请教:重复查询问题

[复制链接]
发表于 2008-11-30 22:33:07 | 显示全部楼层 |阅读模式
问题是这样的,我想在一个商城系统中实现点击进入一个分类后在页面中显示该分类的商品总数,然而在该页中显示的商品数只为25条
现在的做法是分两天查询
一次查总数:
SQL复制代码
SELECT COUNT(id) AS countId FROM (`w144_terms`) WHERE `sortId` = '2'
复制代码

第二次得到前25件商品的数据:
SQL复制代码
SELECT * FROM (`w144_terms`) WHERE `sortId` = '2' LIMIT 0, 25
复制代码


我总感觉这两次查询太费时了,而且我还有按首字母规类的,这就太费时了,这两次查询用时就达到了0.6秒,第一要0.3750秒左右,第二次会少点.

我是想知道有没有什么办法有一次
查询得到我想要的数据?
发表于 2008-11-30 22:49:59 | 显示全部楼层
两个查询行数不统一……貌似一条不好整呢!
发表于 2008-12-1 11:44:42 | 显示全部楼层
ci的分页类好像也是多次调用,一次不太好办,逻辑上有些复杂
发表于 2008-12-1 12:19:38 | 显示全部楼层
我记得可以重复查询,写不同的sql
发表于 2008-12-1 15:35:56 | 显示全部楼层
用缓存来处理,不要试图一条 SQL 执行太多的操作!
当然,不是 CI 的缓存类,是自己实现的,比如 memcached
 楼主| 发表于 2008-12-2 00:07:01 | 显示全部楼层
谢谢以上网友的提示,
to Hex:
你所说的memcached是什么啊?某人写的CI插件吗?
我对这个不了解,
发表于 2008-12-2 10:45:01 | 显示全部楼层

本版积分规则