易截截图软件、单文件、免安装、纯绿色、仅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


相关问答:

pl/sql导入数据问题

我EXCEL中一个单元格的数据如  "2009-01","8949-232"

将这个数据粘贴到PL/SQL中的一个表中后,数据确是成为了 2009-01,8949-232 ,把所有的""都没了,
如何弄呢?请大家试 ......

sql 问题

PB中开发的。

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

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

csv文件转换成sql导入到数据库,没有数据为何?

执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......

C#如何判断连接sql server数据库成功?

C#如何判断连接sql server数据库成功?
try
{
connection.connect()
return true;
}
catch()
{
return false;
}

楼主很着急,开了几贴了。

引用
try
{
connection.connect( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号