|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
事实上,在任何DBaaS中,解决方案提供商对如何管理物理资源都没有控制权,因此MySQL学习教程可能会发现由于DBaaS的局限性使得他们提供给客户的远远小于客户所期望的。server|sqlserver我将提出一个应战,谁能用SQLSEERVER提出盘算素数最好的办法,
我用了一个新的特性CTE和某些TSQL完成,但均不睬想,前者(CTE)无限制,尔后者(TSQL)发生一百万个素数用了7分种
你能够干的更好么?
这儿是我的一些代码段落
(TSQL完成)
setnocounton
declare@primetable(primeintnotnullprimarykey)
--insertinto@primevalues(2)
--insertinto@primevalues(3)
--insertinto@primevalues(5)
--insertinto@primevalues(7)
--insertinto@primevalues(11)
declare@numberint,@pcint
set@number=13
set@pc=1
while@pc<1000000
begin
ifnotexists(select1from@primewhere@number%prime=0andprime<sqrt(@number))
begin
insertinto@primeselect@number
set@pc=@pc+1
end
set@number=@number
+casewhen@number%2=1then2
when@number%3=2then2
when@number%5=4then2
when@number%7=6then2
when@number%11=10then2
else1end
end
select@pc
和
(CTE完成)
withseq
as(select13number
unionall
selects.number
+casewhens.number%2=1then2
whens.number%3=2then2
whens.number%5=4then2
whens.number%7=6then2
whens.number%11=10then2
else1end
fromseqs
wherenumber<32767
)
,primeas(
selects.number
fromseqs
wherenotexists(select1fromseqs2wheres2.number<s.numberand(s.number)%s2.number=0)
)
select*
fromprime
option(MAXRECURSION32767)
解决方案提供商开始推动DBaaS浪潮之前,他们应该深入了解究竟什么是DBaaS。 |
|