ASP 并行连接SQLServer 运行速度慢(运行在Access速度快,在SQLServer中却很慢)
//递归提取分类函数,参数UpSortID为当前要查询分类的上一级分类的IDFunctionShowSortList(UpSortID)dimmymrsStrSQL="s...
//递归提取分类函数,参数UpSortID为当前要查询分类的上一级分类的ID
Function ShowSortList(UpSortID)
dim mymrs
StrSQL="select * from [CompositerSortTBView] where UpSortID="&UpSortID&" "
Set mymrs=s_Conncls(StrSQL)
if not(mymrs.eof) then
Response.Write("<ul>")
do while not(mymrs.eof)
ID=mymrs("ID")
SortName=mymrs("SortName") '分类名称
Response.Write("<li>")
Response.Write(SortName)
'进行下一轮分类的提取
Call ShowSortList(ID)
mymrs.MoveNext
Response.Write("</li>")
loop
Response.Write("</ul>")
end if
mymrs.close
End Function 展开
Function ShowSortList(UpSortID)
dim mymrs
StrSQL="select * from [CompositerSortTBView] where UpSortID="&UpSortID&" "
Set mymrs=s_Conncls(StrSQL)
if not(mymrs.eof) then
Response.Write("<ul>")
do while not(mymrs.eof)
ID=mymrs("ID")
SortName=mymrs("SortName") '分类名称
Response.Write("<li>")
Response.Write(SortName)
'进行下一轮分类的提取
Call ShowSortList(ID)
mymrs.MoveNext
Response.Write("</li>")
loop
Response.Write("</ul>")
end if
mymrs.close
End Function 展开
4个回答
展开全部
语句没什么事,是不是服务器有什么问题
不过你这递归方法来取分类不太好,如果分类下面会有无限分类呢?那可能速度会更慢
建议你看一下动网的无限分类
也就是说所有分类(包括子分类)都在一个表中,只是有不同字段来区分是几级分类,0代表顶几分类,同时在显示时也代表0个空格,后面的子分类是几级就是几个空格,这样按排序显示,也可实现你的效果
不过你这递归方法来取分类不太好,如果分类下面会有无限分类呢?那可能速度会更慢
建议你看一下动网的无限分类
也就是说所有分类(包括子分类)都在一个表中,只是有不同字段来区分是几级分类,0代表顶几分类,同时在显示时也代表0个空格,后面的子分类是几级就是几个空格,这样按排序显示,也可实现你的效果
追问
采用递归的方式是比较慢,因为数据量本身并不多,应该不会是现在的这个慢法(执行这个页面要等好几秒)。
数据库内的数据很正常,没有循环引用的地方?是不是数据库哪方面配置有误?
展开全部
最好固定最大级别,不然会出现很多异常情况,有的是查不到原因的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看网站与数据库服务器是否是分开着,如果是远程连接其他服务器数据库肯定慢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询