11 2011 档案

摘要:11. 死锁如何跟踪;阻塞如何跟踪和查找;发现有问题的语句后,如何进行处理;用Profile做跟踪时,一般我们需要跟踪哪些事件;答:dbcc traceon(1204) 可以开打跟踪死锁的标记,sqlserver2005新增了1222跟踪标志,就是格式更详细,死锁的信息会记录在errlog文件里,顺便说下errlog一共有errlog,errlog1~errlog6共7个文件,关于这些可以看看books online,如果觉得books online太乏味,可以看看徐海蔚的《Microsoft SQLServer企业级平台管理实践》;相对来说,阻塞的问题比死锁要严重,死锁只是牺牲部分进程,阻塞 阅读全文
posted @ 2011-11-27 12:42 鸽子飞扬 阅读(2592) 评论(7) 推荐(5) 编辑
摘要:首先声明:这是本人的答案,并非官方答案,不要盲目追捧,因为觉得这问题很具有代表性,很多人想了解,所以记下,顺便让广大园友也来给本人打打分。因为本人平时用sqlserver2000,所以大多基于sql2000回答。原帖地址http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html问题如下:1. char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;答:char 是定长的字符类型,若长度不够自动在后面补足够的空格 ; 阅读全文
posted @ 2011-11-19 22:54 鸽子飞扬 阅读(3143) 评论(19) 推荐(5) 编辑
摘要:微软推荐为每一个表建立一个聚集索引,但是由于sqlserver简单易用,而且很多人并不了解聚集索引,非聚集索引这些东西,所以如果sqlserver不在主键上建立聚集索引的话,可能会导致大部分的表都是堆结构,而堆结构是乱序存放的,检索很不方便,空间也不好管理,所以微软就来了个强硬的,如果不在建表的同事创建聚集索引,sqlserver会自动在主键上面建聚集索引。 其实在网上的大部分资料都不推荐聚集索引建立在主键上,觉得这是浪费,理由是聚集索引查询比较快,应该建立在经常查询和具有同一属性值的列上(比如分类),这个好像说的过去。 不过就本人目前处理过的数据(亿级),还没有充分的证据表明聚集建立... 阅读全文
posted @ 2011-11-17 23:28 鸽子飞扬 阅读(1115) 评论(1) 推荐(0) 编辑
摘要:最近突然想到这个问题,记录下来巩固一下自己的知识。 表,临时表,表变量,相信很多人都用过,truncate table @表变量 会报错,相信很多人也遇到过,不过真正去思考为什么的人可能少之又少,毕竟大多数情况下,我们大部分的人只需要会用,而不需要去知道为什么,更何况国内的项目总是那么紧张,本来还有的那点求知欲,可能也会被任务,绩效考核冲跑了。 那到底为什么表变量不能truncate呢,这就需要了解truncate这个命令的本质,truncate table 是通过释放存储表数据所用的数据页来删除数据。而表变量的数据是保存在内存中的,而非磁盘中,那么就truncate table 试图... 阅读全文
posted @ 2011-11-17 22:58 鸽子飞扬 阅读(1299) 评论(4) 推荐(0) 编辑
摘要:数据库部分:1)dnt_getattachmentlistbypid (效果明显)2)dnt_getindexforumlist (不太明显)3)dnt_getpostlist1 (不太明显)4)dnt_deleteonlineusers (效果明显)5)dnt_updateuseronlinestates (效果明显)6)dnt_gettoptopiclist(效果明显)文件部分:修改 BasePage .cs更新在线用户信息的时候添加这个条件,if (pagename.IndexOf("avatar.aspx", StringComparison.OrdinalIgno 阅读全文
posted @ 2011-11-04 23:53 鸽子飞扬 阅读(438) 评论(0) 推荐(0) 编辑
摘要:数据库问题:1.发帖,回帖,用不到索引2.看帖,看附件,用不到索引3.删贴,删回复,用不到索引4.最新帖子,用不到索引c#问题:1. 喜欢用for循环,如 读取某个论坛数据时,步骤如下: 1)先从数据库读取所有论坛信息 2)然后for循环,找到合适的论坛id 3)然后for循环,处理版主信息 里面有很多的for循环嵌套2011-06-18 访问失败,报异常 ,System.OutOfMemoryExceptionStack trace: at System.Collections.Generic.List`1.set_Capacity(Int32 value) at System.Colle. 阅读全文
posted @ 2011-11-04 23:53 鸽子飞扬 阅读(420) 评论(0) 推荐(0) 编辑