ZeroBlue

留出时间,让自己微笑。
posts - 6, comments - 12, trackbacks - 0, articles - 0
   :: 首页 ::  :: 联系 ::  :: 管理

2006年9月1日

数据库锁的概念,类型,排锁语句:
锁是数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性。 我们知道,多个用户能够同时操纵同一个数据库中的数据,会发生数据不一致现象。即如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。这些问题包括:丢失更新、脏读、不可重复读和幻觉读。

找出表A中M字段大于500,Y(日期)早于当前数据库一天,X字段取值不重复的记录:
select * from A where x in
(select x from A group by x having count(x)=1)
and m >500 and y < getdate()-1;

从表A中统计X字段的不同取值数并只把记录数多于5的找出:
select * from A where x in (select x from A group by x having count(x)>5)

设表B结构与表A相同,将B中n字段值大于500的记录插入A
insert into A select * from B where n>500


对表A,建立和删除M,N字段联合唯一索引:
CREATE UNIQUE  INDEX myclumn_index ON A(x,y)
DROP INDEX A.myclumn_index 
 注意:当你的内存容量或硬盘空间不足时,也许你不想给一个表增加索引。对于包含索引的数据库,SQL Sever需要一个可观的额外空间。例如,要建立一个聚簇索引,需要大约1.2倍于数据大小的空间。要看一看一个表的索引在数据库中所占的空间大小,你可以使用系统存储过程sp_spaceused,对象名指定为被索引的表名。

posted @ 2007-03-01 20:32 zeroblue 阅读(252) | 评论 (0)编辑 收藏

节选自《程序员》2006年第9期《茶杯里的风暴》一文,作者:金尹。如下:
  P2P网络向传统应用的渗透,将对Ruby、Python这些新兴的编程语言提出巨大的挑战。首先在P2P网络中单个运算节点上的程序并不需要像Web服务那样保持24×7稳定,也不需要支持大容量并发计算。Ruby、Python这些语言的快速开发优势得以显著地体现,他们将是未来桌面的主力开发语言。其次,为了共享P2P覆盖网上分散的计算资源,分布式计算所需的容错能力、分布式存储格式、算法、支持库乃至语言级别的支持都纳入到新语言的规划当中;最后,到我们的计算机上出现越来越多的客户端小程序时,为每一个程序开启一个庞大的虚拟机将是一个非常糟糕的办法,那么在共享虚拟机上,我们如何提供对多核的支持?而这些多核的虚拟机特性又如何从语言层面、支持库层面展现给开发者,同时又不失去语言的简洁特性?这些都是我们不能回避的话题!
  AJAX、Ruby窜红并非是一场茶杯里的风暴,而是巨大冰山的一角。无论是服务端还是客户端,并行/分布式计算的巨大需求都向编程语言提出严峻的挑战。然而目前大多数的编程语言设计之初并不关注并行/分布式计算,这些语言中的许多经典特性(比如OO)在并行/分布式计算上变成了捆住程序员的锁链。工欲善其事,必先利其器。在并行/分布式计算领域中我们必须抛弃原有的经验、习惯、以一种新的思维面对新的世界。

  再回过头来看看下面这篇文章:
         http://www.cnblogs.com/sharenet/archive/2006/05/18/403517.aspx

posted @ 2006-09-01 14:49 zeroblue 阅读(1577) | 评论 (7)编辑 收藏