只想知道 发表于 2015-1-16 22:22:04

MSSQL网站制作之存储历程交换text,ntext列中的字符串

InnoDB数据表的索引,与InnoDB数据表相比,在InnoDB数据表上,索引对InnoDB数据表的重要性要大得多。在InnoDB数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的苊、基础。存储历程|字符串/*
author:amjn
date:2003-03-28
version:1.0
function:交换text,ntext列中的字符串(不撑持中文)
*/
declare@ptrvarbinary(16)
declare@amjnIdint
declare@Positionint,@lenint
set@len=datalength(ILOVEHJL)  
declarewux_CursorscrollCursor
for
selecttextptr(),fromUSA201
forreadonly
openwux_Cursor
fetchnextfromwux_Cursorinto@ptr,@amjnId
while@@fetch_status=0
begin
  select@Position=patindex(%ILOVEHJL%,)fromUSA201where=@amjnId
  while@Position>0
  begin
    set@Position=@Position-1
    updatetextUSA201.@ptr@Position@lenilovehjl
    select@Position=patindex(%ILOVEHJL%,)fromUSA201where=@amjnId
  end
  fetchnextfromwux_Cursorinto@ptr,@amjnId
end
closewux_cursor
deallocatewux_cursor
go


上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。

再见西城 发表于 2015-1-19 09:34:01

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

爱飞 发表于 2015-1-26 09:30:28

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

不帅 发表于 2015-2-4 13:56:32

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

只想知道 发表于 2015-2-10 01:48:45

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

冷月葬花魂 发表于 2015-2-28 15:05:24

你可以简单地认为适合的就是好,不适合就是不好。

深爱那片海 发表于 2015-3-10 00:31:51

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

莫相离 发表于 2015-3-17 04:02:54

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

简单生活 发表于 2015-3-23 18:14:46

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
页: [1]
查看完整版本: MSSQL网站制作之存储历程交换text,ntext列中的字符串