金色的骷髅 发表于 2015-1-16 22:36:41

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:48

连做梦都在想页面结构是怎么样的,绝非虚言

爱飞 发表于 2015-2-5 15:52:26

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

变相怪杰 发表于 2015-2-12 20:19:37

对于微软系列的东西除了一遍遍尝试还真没有太好的办法

只想知道 发表于 2015-3-3 09:09:30

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

精灵巫婆 发表于 2015-3-11 09:58:48

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

老尸 发表于 2015-3-18 03:57:13

groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

分手快乐 发表于 2015-3-25 11:42:08

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
页: [1]
查看完整版本: MYSQL网页编程之在SQLSERVER2005中完成素数盘算