讨论:sql语句的时间复杂度分析

vividlife 2006-03-18 11:14:39
在网上发现了这个时间复杂度分析,不知道有没有道理.

SQL语句中的查询语句是:
select[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>,...]
from<表名|视图名>[,<表名|视图名>,...]
[where<条件表达式1>[,<条件表达式2>,...]]
[groupby<列名>[having<条件表达式>]
[orderby<列名>]。 其执行原理如下:
按照Where语句中的条件表达式从数据源中找到符合条件的元组(记录),返回的是记录的集合,在返回记录的同时对select语句进行操作,如果有groupby语句,则按groupby语句中的 条件表达式对聚合函数进行分组操作。 所以其执行过程可理解如下:

While(where条件表达式满足)
{
语句1:从from指定的数据源中返回记录;
语句2:对语句1中返回的记录进行select操作;

语句3:if(存在groupby条件表达式p
{
语句1:按groupby条件表达式执行聚合函数;
}
}

1、对上文中生成#temp2,#temp3的过程其时间复杂度为0(n)。
2、形成主SQL语句的过程,在动态生成季度列的过程中,其时间复杂度为0(n)。
3、执行主SQL语句,其时间复杂度为0(n)。
...全文
73 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-03-18 11:14
社区公告
暂无公告