精灵巫婆 发表于 2015-1-16 22:20:58

MSSQL网站制作之SQL循规蹈矩(19)DISTINCT和扫除复制

在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:DISTINCT和扫除复制
假设你象列出一切买过古玩的ID和名字,很分明,你大概会将一切的主顾都列出来而没有思索有些主顾是买过量讲古玩的,以是这时候你会发明有些数据是反复的。这就意味着你必要关照SQL来扫除复制的行,而不论这个主顾买过量少个古玩只必要列出一次便可。为了完成这个目标,你可使用DISTINCT关头字。
起首我们必要为AntiqueOwners表来一个equijoin以失掉主顾的LastName和First的具体数据。可是,你要思索到Antiques表中的SellerID列是AntiqueOwners表的一个外码,以是主顾只能在AntiqueOwners表列出ID和名字的行才被列出。我们还想在列的数据中扫除SellerID复制的产生,以是我们要在产生反复的列上利用DISTINCT。
为了避免复制的产生,我们还想将LastName以字母按次分列,然后在按字母按次分列FirstName最初分列OwnerID,因而我们还必需利用ORDERBY子句,详细语句以下:
SELECTDISTINCTSELLERID,OWNERLASTNAME,OWNERFIRSTNAME
FROMANTIQUES,ANTIQUEOWNERS
WHERESELLERID=OWNERID
ORDERBYOWNERLASTNAME,OWNERFIRSTNAME,OWNERID
在这个例子中,由于每一个人都买都一个件古玩,以是我们将Lasname以字母按次列出一切的古玩具有者。
有了rowbase的binlog后,我们来分析一下怎么实现闪回。平时的DML无非三种操作,增删改,先说三种操作的日志格式。

柔情似水 发表于 2015-1-19 09:08:42

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

不帅 发表于 2015-1-24 21:12:21

原来公司用过MYSQL自己也只是建个表写个SQL

若相依 发表于 2015-2-2 14:12:02

光写几个SQL实在叫无知。

透明 发表于 2015-2-7 22:29:14

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

冷月葬花魂 发表于 2015-2-23 13:55:38

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

灵魂腐蚀 发表于 2015-3-7 09:18:00

你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。

分手快乐 发表于 2015-3-14 19:06:03

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

金色的骷髅 发表于 2015-3-21 14:05:29

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
页: [1]
查看完整版本: MSSQL网站制作之SQL循规蹈矩(19)DISTINCT和扫除复制