您当前的位置:KKBlog > 学无止境 > SQLSERVER

SQL Server 2008更改表“不允许保存更改”

当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示: “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项”。
查看全文

SQLServer批量重建索引

当SQLServer的数据积累到一定的数量,查询效率往往急剧下降,常常让人无法忍受,这时我们会想到各种方法对系统进行优化。DBCC是一组功能强大的控制台命令,其中DBCC DBREINDEX经常用到,它可以帮助我们重建指定表的索引,以提高查询的速度。
查看全文

sqlserver中的in与not in,exists与not exists的区别

in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;
查看全文

教你怎么获取存储过程中OutPut输出参数的值和ReturnValue的值

本次程序中,需要用到ReturnValue或者Output来获取sqlserver存储过程返回参数的值,于是整理出来,存储过程中OutPut输出参数的值和ReturnValue的值的获取可以参考。OutPut是一个输出参数类型,首先我们要明白OutPut类型的参数与Return值不一样。我们将存储过程中的某一个或多个参数提定为 OutPut类型,然后在存储过程内部更新…
查看全文

SQL 查询性能优化----解决书签查找

先来看看什么是书签查找:     当优化器所选择的非聚簇索引只包含查询请求的一部分字段时,就需要一个查找(lookup)来检索其他字段来满足请求。对一个有聚簇索引的表来说是一个键查找(key lookup),对一个堆表来说是一个RID查找(RID lookup)。这种查找即是——书签查找。   书签查找根据索引的行定位器从表中读取…
查看全文

SQL server 行转列 列转行汇总

PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别(在数据库属性-
查看全文

SQL性能优化(不断总结)

1.查询的模糊匹配  尽量避免在一个复杂查询里面使用 LIKE %parm1%—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用。  解决办法:  其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:   a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模…
查看全文

SQL分割字符串

看到程序一分割字符串函数,感觉有点迷惑,于是自己想从百度里面搜索几个一幕了然的分割字符串函数如程序二里面的一些方法程序一:create function [dbo].[GF_StringSplit](@str nvarchar(max), --字符串@spliter nvarchar(10)) --分割符returns @tb table(ch nvarchar(256)) --返回对应表ASBEGINDECLARE @Num int,@Pos int,…
查看全文

SqlParameter的作用与用法

一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语句来进行注入攻击。?123456789101112131415161718string sql = "update Table1 set name = Pudding where ID = 1";//未采用SqlParame…
查看全文
二维码
意见反馈 二维码