随笔分类 -  SQL

摘要:查询速度慢的原因很多,常见如下几种:    1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)    2、I/O吞吐量小,形成了瓶颈效应。    3、没有创建计算列导致查询不优化。    4、内存不足    5、网络速度慢    6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)    7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)    8、sp... 阅读全文
posted @ 2010-11-23 23:11 Will.Hu 阅读(43971) 评论(3) 推荐(5)
摘要:锁定数据库的一个表 SELECT * FROM table WITH (HOLDLOCK)注意: 锁定数据库的一个表的区别SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除SELECT * FROM table WITH (TABLOCKX) 其他事务不能读取表,更新和删除SELECT 语句中“加锁选项”的功能说明 S... 阅读全文
posted @ 2010-08-27 14:54 Will.Hu 阅读(17970) 评论(1) 推荐(2)
摘要:DBCC SHOWCONTIG是显示指定的表的数据和索引的碎片信息。如上图所示。解释如下:Page Scanned-扫描页数:如果你知道行的近似尺寸和表或索引里的行数,那么你可以估计出索引里的页数。看看扫描页数,如果明显比你估计的页数要高,说明存在内部碎片。 Extents Scanned-扫描扩展盘区数:用扫描页数除以8,四舍五入到下一个最高值。该值应该和DBCC SHOWCONTIG返回的扫描... 阅读全文
posted @ 2009-10-23 12:28 Will.Hu 阅读(10950) 评论(0) 推荐(1)
摘要:SQL字符串函数select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。left()是sql函数。select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函... 阅读全文
posted @ 2009-10-20 19:01 Will.Hu 阅读(380) 评论(0) 推荐(0)