[ 一线风 | 2008-3-24 17:45:45 | 阅读: 1444 | 分类: 程序开发 | Tag: mssql 索引 效率 | 永久链接 | 评论: 0 ]

   合理的设计索引,正确的使用索引.

    大家注意一点,这个LX_STUDENTINFO索引,是四个索引字段,而他们的顺序studycenternumber,studentnumber,studentname,studentcrtificatenumber,在数据库设计中,如果查询采用的第一个字段和第二个字段组合,则该索引有效;如果查询采用第一个、第二个和第三个字段组合,该索引也有效;而如果第一个和第三个,或第四个组合,则该索引是无效的,等同的效果仍是在没有索引的数据库中进行查询。也就是说建立的索引中的字段,在查询使用时,不能隔字段使用。

    另外,索引中涉及到字段的顺序也会影响查询的性能,如果一个索引包含两个字段A1和A2,那么在查询时,一定要严格按索引中这两个字段的顺序设计查询,比如:select * from a where A1='A' and A2='B'。而如果程序员写成了select * from a where A2='B' and A1='A'的话,虽然不影响程序正常使用,但会增加数据库的压力,并且查询效能会降低。(注:这个,我觉得Mssql好像是能自动优化的)

 阅读全文及评论...

[ 一线风 | 2007-6-5 13:49:32 | 阅读: 2618 | 分类: 工作相关 | Tag: mssql 技巧 循环 | 永久链接 | 评论: 3 ]
Declare  @bookid  int,@authorid  int
select  @bookid  =  0,@authorid  =  0        --  初始定义
Declare  curBook  Cursor  For 
select  top  10    bookid,authorid  from  bookTable  with(nolock)

Open  curBook                --  打开游标

FETCH  NEXT  FROM  curBook  into  @bookid,@authorid
WHILE  @@FETCH_STATUS  =  0
        begin
       
        select  @bookid  as  bookid  ,@authorid  as  authorid

        FETCH  NEXT  FROM  curBook    into  @bookid,@authorid
        end

Close  curBook        --关闭游标 
Deallocate  curBook          --释放游标

 阅读全文及评论...

[ 一线风 | 2007-3-28 14:26:25 | 阅读: 2126 | 分类: 学习参考 | Tag: mssql | 永久链接 | 评论: 1 ]
浅谈MS-SQL锁机制1

锁的概述 

一.  为什么要引入锁 

多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 

丢失更新
A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 

 阅读全文及评论...

[ 一线风 | 2007-2-12 14:46:16 | 阅读: 7768 | 分类: 工作相关 | Tag: mssql 经验 总结 | 永久链接 | 评论: 4 ]
使用select  top  N  *  from  tb  时会按默认的主键排序方式来排列
但是命名用select  top  N  *  from  tb  with(nolcok)  时,却是混乱的排序
只有命名用select  top  N  *  from  tb  with(nolock)  order  by  id  desc  时才会出现正常的排序~

这个很奇怪~

 阅读全文及评论...