仓酷云

标题: MSSQL网页编程之SQL Server 2005利用干系数据库存储CFG... [打印本页]

作者: 莫相离    时间: 2015-1-16 22:16
标题: MSSQL网页编程之SQL Server 2005利用干系数据库存储CFG...
Mysql的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。本文先容的是用干系数据库来存储CFG(把持流程图)的信息。在查询时,为了失掉一切dominate干系的了局,利用了CTE来举行递回查询。本文先容的是用干系数据库来存储CFG(把持流程图)的信息。在查询时,为了失掉一切dominate干系的了局,利用了CTE来举行递回查询。
复杂例子以下:
1.现有表testRe布局以下



2.欲失掉的查询了局为找到id=a的项的一切pId,即b、c、d。
3.利用CTE做递回查询:
  1. WITHRe_CTE(id,pId,Level)Technorati标签:sqlserver,CTE,递回,查询AS(SELECTid,pId,1AS[Level]FROMtestReWHEREid=aUNIONALLSELECTt.id,t.pId,[Level]+1FROMtestRetINNERJOINRe_CTEctONt.id=ct.pId)SELECT*FROMRe_CTE
复制代码
个中,Level为可选项
4.查询了局为:



5.CTE的复杂申明(参考MSDNhttp://msdn.microsoft.com/zh-cn/library/ms186243%28SQL.90%29.ASPx):
  1. WITHcte_name(column_name[,...n])AS(CTE_query_definition–-Anchormemberisdefined.UNIONALLCTE_query_definition–-Recursivememberisdefinedreferencingcte_name.)--StatementusingtheCTESELECT*FROMcte_name
复制代码
一个递回CTE布局必需最少包括一个定位点成员和一个递回成员。
实行时:
将CTE表达式拆分为定位点成员和递回成员。
运转定位点成员,创立第一个挪用或基准了局集(T0)。
运转递回成员,将Ti作为输出,将Ti+1作为输入。
反复步骤3,直到前往空集。
前往了局集。这是对T0到Tn实行UNIONALL的了局。
BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
作者: 飘灵儿    时间: 2015-1-19 06:29
所以你总能得到相应的升级版本,来满足你的需求。
作者: 兰色精灵    时间: 2015-1-25 09:14
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
作者: 只想知道    时间: 2015-2-2 20:45
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
作者: 谁可相欹    时间: 2015-2-2 20:45
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
作者: 灵魂腐蚀    时间: 2015-2-8 06:03
比如日志传送、比如集群。。。
作者: 活着的死人    时间: 2015-2-24 19:09
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
作者: 若天明    时间: 2015-3-7 13:02
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
作者: 再见西城    时间: 2015-3-15 06:16
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
作者: 第二个灵魂    时间: 2015-3-21 20:22
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。




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