仓酷云

标题: MYSQL网页编程之在SQLSERVER2005中完成素数盘算 [打印本页]

作者: 金色的骷髅    时间: 2015-1-16 22:36
标题: MYSQL网页编程之在SQLSERVER2005中完成素数盘算
事实上,在任何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。
作者: 谁可相欹    时间: 2015-1-19 18:26
连做梦都在想页面结构是怎么样的,绝非虚言
作者: 爱飞    时间: 2015-2-5 15:52
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
作者: 变相怪杰    时间: 2015-2-12 20:19
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
作者: 只想知道    时间: 2015-3-3 09:09
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
作者: 精灵巫婆    时间: 2015-3-11 09:58
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
作者: 老尸    时间: 2015-3-18 03:57
groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。
作者: 分手快乐    时间: 2015-3-25 11:42
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2