SQL基础问题,四个sql语句的效率有什么区别?

rootwuyu 2003-03-24 04:57:29
基础知识问题
select * from a
select b,c from a
select b,c from a t
select b as d,c as e from a t
这四个sql语句从数据库效率上来讲,有什么区别?
假定表a中有b/c这两个字段

...全文
24 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
双子涂鸦 2003-03-24
  • 打赏
  • 举报
回复
别名有两种用途
一种是为程序员自己,结构清晰
一种是为程序自己, 区分不同的归属(不太确切)
ykliu1 2003-03-24
  • 打赏
  • 举报
回复
对于复杂的查询中当然建议使用别名。
rootwuyu 2003-03-24
  • 打赏
  • 举报
回复
也不是吹毛求疵了,只是长期以来自己的数据库基础知识一向比较差,因此想通过这个问题了解一些数据库理论方面的东西,比如使用别名(from a t)以后,在数据库内部处理上跟没有别名有什么区别?


非常感谢大家了:)
developer2002 2003-03-24
  • 打赏
  • 举报
回复
我觉得没必要在这四条几乎雷同的语句上吹毛求疵。
铁定的全表扫描有什么好议的呢。不过,对 black_snail(●龙飞虎○) 乐于助人的精神敬佩!
beckhambobo 2003-03-24
  • 打赏
  • 举报
回复
不涉及判断,全部属于全表搜索。没什么好讲
yuxuan 2003-03-24
  • 打赏
  • 举报
回复
如果表A是宽表,即字段比较多,数据量又比较大的话
select b,c from a
select b,c from a t
select b as d,c as e from a t
效率一样

select * from a
速度会慢一些
CHENGTOM 2003-03-24
  • 打赏
  • 举报
回复
理论上四个的速度应该是一样的

因为在不加hint的前提下,这四个sql语句都会全表扫描

除非加hint

black_snail 2003-03-24
  • 打赏
  • 举报
回复
2,3,4 same

1 maybe little bit slow ( but I think basically same ) , if Oracle will do the full table scan , 1 is same as 2,3,4 .

if oracle use index for 2,3,4, maybe 1 is bit slower .

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧