SQLServer 2008 에서 SQL 강화 의 두 가지 새로운 용도

2169 단어 SQLServerTop
1.Set RowCount 를 대체 하 는 TOP 문 구 는 SQL Server 2005 이전의 전통 적 인 SQL 구문 에서 top 문 구 는 부분 변 수 를 지원 하지 않 습 니 다.이 때 는 Set RowCount 를 사용 할 수 있 지만 SQL Server 2005/2008 에 서 는 TOP 이 더 빨리 실행 되 기 때문에 Set RowCount 대신 TOP 키 워드 를 사용 해 야 합 니 다
 
/*************** *********************
****************downmoo [email protected] ***************/
IF NOT OBJECT_ID('[Demo_Top]') IS NULL
DROP TABLE [Demo_Top]
GO
Create table [Demo_Top]
(PID int identity(1,1) primary key not null
,PName nvarchar(100) null
,AddTime dateTime null
,PGuid Nvarchar(40)
)
go
truncate table [Demo_Top]
/*************** 1002 *********************
****************downmoo [email protected] ***************/
declare @d datetime
set @d=getdate()
declare @i int
set @i=1
while @i<=1002
begin
insert into [Demo_Top]
select cast(datepart(ms,getdate()) as nvarchar(3))+Replicate('A',datepart(ss,getdate()))
,getdate()
,NewID()
set @i=@i+1
end
-TOP 키 워드 는 Select,Update,Delete 문장 에 사용 할 수 있 습 니 다.Top 의 일정한 백분율 의 무 작위 줄
 
Declare @percentage float
set @percentage=1
select Top (@percentage) percent PName from [Demo_Top] order by PName
-- 11 。(11 row(s) affected)
이 백분율 은 표 데이터 페이지 의 백분율 이지 기록 수의 백분율 이 아니 므 로 기록 수량 은 불확실 합 니 다.2.TOP 블록 수정 데이터 TOP 의 두 번 째 관건 적 인 개선 은 데이터 의 블록 조작 을 지원 하 는 것 입 니 다.다시 말 하면 한 문장 에서 매우 큰 조작 을 하지 않 고 수정 을 여러 개의 작은 블록 으로 나 누 는 것 은 빅 데이터 양,큰 방 문 량 표 의 동시성 을 크게 개선 하여 큰 보고서 나 데이터 창고 응용 프로그램 에 사용 할 수 있다.또한 블록 작업 은 로그 의 빠 른 증 가 를 피 할 수 있 습 니 다.이전 작업 이 완료 되면 로그 공간 을 다시 사용 할 수 있 기 때 문 입 니 다.작업 중 에 업무 가 있 으 면 완 료 된 수정 데 이 터 는 조회 에 사용 할 수 있 으 며 모든 수정 이 완 료 될 때 까지 기다 릴 필요 가 없습니다.상기 표 의 예 를 들 어
 
select PName,AddTime, PGuid from [Demo_Top]
TableSample System(10 percent)
--(77 row(s) affected)
주 의 는 매번 202 개의 데 이 터 를 삭제 하 는 것 이 고 TOP 도 Select 와 Update 문 구 를 사용 할 수 있 으 며 그 중에서 후 자 는 더욱 실 용적 입 니 다.Select TOP(100)--Update TOP(100)초승달:본 고의 판권 은 초승달 과 블 로그 원 이 공동으로 소유 하고 전재 할 때 출처 를 밝 혀 주 십시오.

좋은 웹페이지 즐겨찾기