随笔 - 120, 文章 - 1, 评论 - 166, 阅读 - 19万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

12 2012 档案

摘要:作者:nzperfect本文地址:http://www.cnblogs.com/nzperfect/archive/2012/12/28/2837286.html本文示例使用FASH nuber_rows改变SQL执行计划准备测试数据:USE TEMPDBGO--建立基本数据:--///////////////////CREATE TABLE STUDENT(SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4) NOT NULL,SSEX VARCHAR(2) NOT NULL, SBIRTHDAY DATETIME,CLASS VARCHAR(5))GOCREA 阅读全文

posted @ 2012-12-28 14:45 nzperfect 阅读(1253) 评论(2) 推荐(1) 编辑

摘要:相信,很多网友都有用SQL界面生成脚本再执行的习惯,今天在CSDN看到一个案例,好大的风险-_-!!!本示例是将一个表的列由datetime变成char型:step 1 生成数据库:USE masterGO--创建测试数库CREATE DATABASE [DB_TEST] ON PRIMARY ( NAME = N'DB_TEST', FILENAME = N'D:\SQL2008\Data\DB_TEST.mdf' , SIZE = 512MB , FILEGROWTH = 1024KB, MAXSIZE = 524288KB)LOG ON ( ... 阅读全文

posted @ 2012-12-26 17:32 nzperfect 阅读(2262) 评论(6) 推荐(5) 编辑

摘要:考虑这种情况:在大多数时间里你的存储过程运行良好,但是有时非常差,性能仿佛从天下掉到地下,有人会说肯定是统计信息更新不及时,而且当你手动运行它并查看执行计划,你会发现预估行数和实际行数有很大差距,你会因此而确定是统计信息不准确造成执行计划生成不正确。但是,可能并不是。。。存储过程、使用sp_executesql的参数化语句、预编译的SQL语句都会重用一个缓存的执行计划,它是由一个称为参数嗅探定义的,参数嗅探本身并没有问题,但是相同的存储过程或参数化语句去调用已经生成的执行计划时,就有可能引发一些问题。比如:如果一个参数化查询语句只返回一行数据,那么它可能会生成一个简单的轻量级执行计划,这个执行 阅读全文

posted @ 2012-12-24 16:42 nzperfect 阅读(1998) 评论(21) 推荐(4) 编辑

摘要:/*该脚本示例如何完整的修改一个数据库的名称.数据库为原名称为DB_BEIJING,需要修改成DB_SHANGHAInzperfect 2012.12.19*/--判断是否存在同名的数据库,以防止误删除USE masterGOIF EXISTS (SELECT name FROM sys.databases WHERE name = N'DB_BEIJING')BEGIN RAISERROR('请注意:数据库已存在!',15,1) RETURN --DROP DATABASE DB_BEIJINGENDGOUSE masterGO--创建测试数库CREATE D 阅读全文

posted @ 2012-12-19 17:42 nzperfect 阅读(5006) 评论(0) 推荐(0) 编辑

摘要:考虑下面的情况:当update值与原值相同时,SQL Server会真的去update还是忽略?例如:update tbnameset name='abc' --name原来的值就是abcwhere id=1再如:update tbnameset name='abc' --name原来的值就是abcwhere name='abc'接下来我们将实际测试:--Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Micros 阅读全文

posted @ 2012-12-12 14:08 nzperfect 阅读(5181) 评论(8) 推荐(7) 编辑

点击右上角即可分享
微信分享提示