易截截图软件、单文件、免安装、纯绿色、仅160KB

两种SQL语句 效率问题

情况是一张表(T)内,每条记录有一个类型字段,当按类型字段来分类查询并分页处理时
(表T内的类型是指向另一张类型表的一个ID值)
我想到了两种方式;

环境:PHP+MYSQL

1、PHP 先执行一条查询得到指定类型的记录条, 再执行一次查询 获取所有指定类型的记录(MYSQL按分页返回)
SQL code:

--查询类型ID 为 3的所有记录的条数
select count(*) from pstbl where pstbl.typeid=3;

-- 返回分页第2页的内容(20)条
select * from pstbl where pstbl.typeid =3 limit 1,20;



2、PHP 只执行一条查询语句,每条记录里面包含着总记录条数
SQL code:

--查询类型ID 为 3的所有记录带条数, 且返回分页第2页的内容(20)条
select ps.*,(select count(*) from pstbl where pstbl.typeid=3) as total
from pstbl as ps where ps.typeid=3 limit 1,20;



不晓得这两种方式对整体效率有何影响  就是分开多条执行好一些呢,还是复合执行一次完成好些
因为分开时,语句比较简单,连起来查询时语句较复杂,会不会执行时间过长
用第2种的话,我实际运用上还要加上查询另一张ID,同时考虑到尽量找相临的一种类型,就说当指定的类型ID不存在,
或者未指定就自动返回相临的一种类型

实际上运用的语句 示例
SQL code



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://ww


相关问答:

如何用c#,sql2000 开发c/s下的工作流?

本人c#新手 可是要求要用c# ,sql2000开发c/s的工作流,一头雾水,请大家帮忙帮忙,给点思路,说的约具体越好,我也好往那个方面去学习
http://www.hxzi.com/view/61402.html
B/S版的,基本思想应该差不多的。。 ......

sql 问题

PB中开发的。

DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)

string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+&q ......

sql查询疑问

表中按datadate,tradeid为主键,也就是说tradeid会重复出现在不同天中,同一天的tradeid是不同的。现在我希望取一段时间范围内不重复的tradeid,且只要每个tradeid的最后一次出现的那条。sql语句该怎么写

: ......

菜鸟提问,求简单sql ?



表A

Sup_code    st_sup_code    buy_code      buy_code1 
1001        400            &nbs ......

pl/Sql小编程

我想使用Sql编个小程序,就是判定一个字符串出现了几次指定字符;
例如在string型“6+4+8+2”中,我需要判定出现了几个“+”;并且实现
if (出现3次)
then
  ………………(引发事件);

......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号