活着的死人 发表于 2015-1-16 22:17:44

MYSQL编程:在SQL SERVER 2005中完成素数盘算

即使对于MySQL的商业化的企业版来说,也没有高昂的许可证成本,当你将其与像甲骨文和微软之类的大型专有商业数据库比较的话。  我将提出一个应战,谁能用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可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。

若天明 发表于 2015-1-19 06:52:12

发几份SQL课件,以飨阅者

小女巫 发表于 2015-1-28 05:22:56

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

深爱那片海 发表于 2015-2-5 15:17:54

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.

飘飘悠悠 发表于 2015-2-12 15:43:52

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

仓酷云 发表于 2015-3-3 04:12:41

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

小妖女 发表于 2015-3-11 09:37:34

光写几个SQL实在叫无知。

再见西城 发表于 2015-3-18 03:41:51

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

飘灵儿 发表于 2015-3-25 11:39:31

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
页: [1]
查看完整版本: MYSQL编程:在SQL SERVER 2005中完成素数盘算