lwkyykk 发表于 2008-11-30 22:33:07

请教:重复查询问题

问题是这样的,我想在一个商城系统中实现点击进入一个分类后在页面中显示该分类的商品总数,然而在该页中显示的商品数只为25条
现在的做法是分两天查询
一次查总数: SELECT count(id) as countId FROM (`w144_terms`) WHERE `sortId` = '2'
第二次得到前25件商品的数据: SELECT * FROM (`w144_terms`) WHERE `sortId` = '2' LIMIT 0, 25

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

我是想知道有没有什么办法有一次
查询得到我想要的数据?

zwws 发表于 2008-11-30 22:49:59

两个查询行数不统一……貌似一条不好整呢!

sexymouse 发表于 2008-12-1 11:44:42

ci的分页类好像也是多次调用,一次不太好办,逻辑上有些复杂

sam 发表于 2008-12-1 12:19:38

我记得可以重复查询,写不同的sql

Hex 发表于 2008-12-1 15:35:56

用缓存来处理,不要试图一条 SQL 执行太多的操作!
当然,不是 CI 的缓存类,是自己实现的,比如 memcached

lwkyykk 发表于 2008-12-2 00:07:01

谢谢以上网友的提示,
to Hex:
你所说的memcached是什么啊?某人写的CI插件吗?
我对这个不了解,

Hex 发表于 2008-12-2 10:45:01

是这个东西:http://www.danga.com/memcached/
页: [1]
查看完整版本: 请教:重复查询问题