-
SQLServer表变量对IO及内存影响测试
所属栏目:[MsSql教程] 日期:2020-12-12 热度:172
1. 测试创建表变量对IO的影响 测试创建表变量前后,tempdb的空间大小,目前使用 sp_spaceused 得到大小,也可以使用视图 sys.dm_db_file_space_usage use tempdb go Set nocount on Exec sp_spaceused /* 插入数据之前 */ declare @tmp_orders table ( list_[详细]
-
Sqlserver 死锁日志 常见字段说明
所属栏目:[MsSql教程] 日期:2020-12-12 热度:176
转自: SQL Server死锁日志分析(打开1204标记) 使用跟踪标记 1204 --打开跟踪标记 DBCC TRACEON (1204,-1) --关闭跟踪标记 DBCC TRACEOFF (1204,Arial; line-height:26px"> 处于死锁状态时,跟踪标记 1204 在等待的线程、存在等待线程的资源和控制这些资源的[详细]
-
SqlServer中的更新锁(UPDLOCK)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:166
SqlServer中的更新锁(UPDLOCK) 2013-01-24 10:49 by 假面Wilson,? 3503 ?阅读,? 1 ?评论,?收藏,?编辑 UPDLOCK.UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。当我们用UPDLOCK来读取记录时[详细]
-
SqlServer——全文索引
所属栏目:[MsSql教程] 日期:2020-12-12 热度:137
当我们想要模糊查询时,之前用like %来进行查询,但是为了提高查询速度,提出了全文索引。 全文索引是用空间换取了时间,它将每个表中的数据进行切分存储,这样就能很快的定位到模糊查询的数据。 全文索引快的原因以及contains与like查找区别比较 下面是摘自[详细]
-
SqlServer——批量操作(批量添加,删除)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
批量添加数据: 一条insert语句批量插入多条记录 常见的insert语句,向数据库中,一条语句只能插入一条数据: insert?into?persons? (id_p,?lastname?,?firstName,?city?) values(204,'haha'?,?'deng'?,?'shenzhen'); (如上,仅插入了一条记录) 怎样一次in[详细]
-
SqlServer——批量插入数据
所属栏目:[MsSql教程] 日期:2020-12-12 热度:119
像Major表里面批量插入数据演示: ? 代码如下: ? Declare @I int Set @I = 0 Begin TranInsertData:Insert into Major values(@I, ' hello ' )Set @I =@I+ 1 if @I 10000 Goto InsertDataCommit Tran View Code[详细]
-
SqlServer中——查找杀死阻塞进程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:158
查找阻塞进程: SELECT blocking_session_id '阻塞进程的ID',wait_duration_ms '等待时间(毫秒)',session_id '(会话ID)' FROM sys.dm_os_waiting_tasks 杀死阻塞进程: KILL 57[详细]
-
SQLServer 行转列
所属栏目:[MsSql教程] 日期:2020-12-12 热度:173
参考例子 http://sqlfiddle.com/#!6/a63a6/457 ? SELECT LogicalStationID,[气体浓度_DLastValue],[传感器状态_DLastValue],? [水位状态_DLastValue],[电池状态_DLastValue],? case when [气体浓度_DLastTime]=[传感器状态_DLastTime] and [气体浓度_DLastTi[详细]
-
mssql分页存储过程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:72
/********** 通用分页存储过程 ?返回的数据中总是在每条记录前加上行号RowNumber列 ***************/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[sp_common_pager] ?@strSelect NVARCHAR(4000) = '*',? --显示的列(多列用逗[详细]
-
记录一次SqlServer查询优化的过程(聚合索引的使用)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:158
前提: 最近给人做一个程序,由于有导入导出操作,所以主键采用了GUID类型。 由于客户不能上网,SqlServer选择了2005,因为Sql2005比较[详细]
-
(珍藏)高效的SQLSERVER分页查询(推荐)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:79
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlser[详细]
-
sqlServer中使用Job
所属栏目:[MsSql教程] 日期:2020-12-12 热度:181
【是什么】 ? ? ? ? JOB中文名叫作业,是数据库的一种同步应用。 【为什么用】 ? ? ? ?当我们需要数据库定时的做某一件事情时就可以使用作业来达到效果。例如,我们需要定时的执行某一个数据库中的某个存储过程,或者需要定时的将一个数据库中的信息同步到另[详细]
-
Sqlserver中存储过程和游标的一些使用例子
所属栏目:[MsSql教程] 日期:2020-12-12 热度:112
/*带输入输出参数存储过程*/ALTER PROCEDURE pro_test2@userID INT,@maxUserID INT OUTPUT,@countUser INT OUTPUTAS BEGIN SELECT * FROM dbo.SY_ADMIN WHERE UserID=@userID --10075SELECT @maxUserID=10089SET @countUser=20000 END; GO /*测试*/DECLARE @[详细]
-
SqlServer链接字符串整理
所属栏目:[MsSql教程] 日期:2020-12-12 热度:112
一、.NET Framework Data Provider for SQL Server 类型:.NET Framework类库 使用:System.Data.SqlClient.SqlConnection 厂商:Microsoft 标准安全连接 Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPa[详细]
-
SqlServer 数据库修改是否区分大小写
所属栏目:[MsSql教程] 日期:2020-12-12 热度:141
SqlServer数据库是否区分大小写: 1.主要是表名、数据库字段名、以及字段的值等 2.在区分大小写的情况下,系统数据库的表名都是小写 例如:sysobjects 3.在不区分大小写的情况下,执行where条件查询 实例1,都能获取到数据 --这两个,获取到相同的结果select[详细]
-
SQLServer中服务器角色和数据库角色权限详解
所属栏目:[MsSql教程] 日期:2020-12-12 热度:164
固定数据库角色 说 明 db_owner 可以执行数据库中技术所有动作的用户 db_accessadmin 可以添加、删除用户的用户 db_datareader 可以查看所有数据库中用户表内数据的用户 db_datawriter 可以添加、修改或删除所有数据库中用户表内数据的用户 db_ddladmin 可以[详细]
-
sqlserver2005服务启动端口未打开的问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:139
开始菜单,找到SQL?Server?配置管理器 进入后,有个SQL?Server网络配置,MSSQLSERVER的协议, Shared?Memory,Named?Pipes?,TCP/IP三个协议都改为启用。 双击TCP/IP,要将各个IP都启用。 有些sql server 2005在安装过程中,可能将SQL server 服务的端口配置成[详细]
-
sqlserver查找所有表中是否包含字符并替换
所属栏目:[MsSql教程] 日期:2020-12-12 热度:168
declare @str varchar(100),@replaceStr varchar(100) --设置要模糊搜索的字符串 set @str='苏州工业园区' --设置替换的字符串 set @replaceStr='' declare @s varchar(8000) declare tb cursor local for select s='if exists(select 1 from ['+b.name+'] w[详细]
-
从SqlServer中导出完整的表说明
所属栏目:[MsSql教程] 日期:2020-12-12 热度:176
关键的Sql语句 关键Sql语句之查询当前库的用户表 select * from sys.tables 关键Sql语句之查询当前表的所有字段详细信息 SELECT 表名 = case when a.colorder= 1 then d.name else '' end ,表说明 = case when a.colorder= 1 then isnull(f. value , '' ) el[详细]
-
高效实施SQLServer和PostgreSQL相互间的导入导出
所属栏目:[MsSql教程] 日期:2020-12-12 热度:56
前提:将要导入或者导出的所有表名字写入一个txt文件 * SQlServer 导出:(注意:tokens=1,2,3,要真正拿到表名) @echo offcd /d "%~dp0"for /f "tokens=1,3 delims=." %%i in (tableName.txt) do (echo %date% %time% start to export %%k from sqlserver[详细]
-
SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字
所属栏目:[MsSql教程] 日期:2020-12-12 热度:142
1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 3.查询表结构信息: SELECT d.name AS TableName,A.ColOrder,A.Name AS[详细]
-
(珍藏)高级:SQLSERVER存储过程基本语法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:121
一、定义变量 -- 简单赋值 declare @a int set @a = 5 print @a 使用select语句赋值 @user1 nvarchar ( 50 ) select @user1 = ' 张三 ' @user2 @user2 = Name from ST_User where ID 1 @user2 使用update语句赋值 @user3 update ST_User @user3 @user3 二、[详细]
-
SQLServer找出执行慢的SQL语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:187
SELECT(total_elapsed_time / execution_count)/1000 N'平均时间ms',total_elapsed_time/1000 N'总花费时间ms',total_worker_time/1000 N'所用的CPU总时间ms',total_physical_reads N'物理读取总次数',total_logical_reads/execution_count N'每次逻辑读次数[详细]
-
摘录:sqlserver2008驱动问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:153
错误提示: java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver 解决办法: 1.检查对应的数据库JAR包是否导入工程 2.检查.classpath文件里是否引入classpathentry exported="true" kind="lib" path="C:/workspace/jtds-1.2.jar"/ 3.检查对应[详细]
-
sqlserver多线程查询与更新
所属栏目:[MsSql教程] 日期:2020-12-12 热度:147
这是一个典型的“丢失更新”问题。通常的解决方式是提高隔离级别,或者为select加排他锁。但我推荐下面这种方式,可以在sql server默认的隔离级别和锁机制下解决问题。 begin tran--注意:事务中的第一句必须是updateupdate 表名 set id=id+1 where ...--获[详细]