急求:sql效率 关于内连接、子查询和前台绑定

来源:百度知道 编辑:UC知道 时间:2024/06/15 16:11:46
数据库企业表qingye 有以下字段 aid(地区编号) cid(企业类型编号) 等等许多字段
地区表 diqu 有以下字段 id dname fid
类型表 ctype 有以下字段 id xname fid
我写了一个存储过程显示前十条企业
select top 10 q.*,(select dname from diqu where id = q.aid) as dn,(select xname from ctype where id = q.cid) as cp, from qingye q order by q.id desc(子查询)

select top 10 q.*,d.dname as dn,c.xname as cp from qingye q inner join diqu d on q.cid = d.id inner join ctype c on q.xid = c.id(三表连接)

select top 10 * from qingye
(绑定控件写方法调用函数 比如:onitembind()中查找标签
Label l1 = (Label)e.Items.FindControl("Label1");
l1.text = 方法名()

)
究竟哪一种效率比较高?
哪一种效率最低?

1、只查10条记录根本看不出效果,可能都只要0.000几秒

2、第一和第二的写法能出相同的结果吗?表示怀疑

3、SQL语句最关键的是语句简明,思路清晰,建议你采用第二种三表连接的写法

直观的看上去,应该是最后一种性能最好。

子查询的应该是效率比较低下。

不过这个也得看你的数据库设计。。。