เดเดเตเดเดณเตเดเต เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดพเตป เดเตเดเตเด เดชเดฐเดพเดคเดฟเดเตพ เดเดตเดฏเดพเดฃเต. เดเดฑเตเดฑเดตเตเด เดฐเดธเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเด, เดเดคเต เดเดฐเต เดจเตเดฃเตเด เด เดจเตเดตเตเดทเดฃเดคเตเดคเดฟเดจเต เดเดพเดฐเดฃเดฎเดพเดฏเดฟเดคเตเดคเตเตผเดจเตเดจเต เดเดจเตเดจเดคเดพเดฃเต. VMware-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ SQL เดธเตเตผเดตเดฑเตเดเดณเต เดเตเดฑเดฟเดเตเดเต เดจเดฎเตเดฎเตพ เดธเดเดธเดพเดฐเดฟเดเตเดเตเด.
เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดชเตเดฐเตเดกเดเตเดทเตป เดธเตเตผเดตเตผ เดจเดฟเดฐเดพเดถเดพเดเดจเดเดฎเดพเดฏเดฟ เดฒเดพเดชเตโเดเตเดชเตเดชเดฟเดจเต เดชเดฟเดจเตเดจเดฟเดฒเดพเดฃเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดพเดฃเต. เดเตเดกเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเด (เดเตเดเดชเตเดกเดฟเดฌเดฟเดฏเดฟเดฒเดฒเตเดฒ, เดกเดฟเดฒเตเดกเต เดกเตเดฏเตเดฑเดฌเดฟเดฒเดฟเดฑเตเดฑเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดฟเดฏ เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเดฒเตเดฒ):
set nocount on
create table _t (v varchar(100))
declare @n int=300000
while @n>0 begin
insert into _t select 'What a slowpoke!'
delete from _t
set @n=@n-1
end
GO
drop table _t
เดเดจเตเดฑเต เดกเตเดธเตเดเตเดเตเดชเตเดชเดฟเตฝ เดเดคเต 5 เดธเตเดเตเดเตปเดกเต เดเดเตเดเตเดเตเด, เดชเตเดฐเตเดกเดเตเดทเตป เดธเตเตผเดตเดฑเดฟเตฝ เดเดคเต 28 เดธเตเดเตเดเตปเดกเต เดเดเตเดเตเดเตเด. เดเดพเดฐเดฃเด เดเดเดชเดพเดเต เดฒเตเดเต เดเตปเดเตเดฐเดฟเดฏเตเดเต เดซเดฟเดธเดฟเดเตเดเตฝ เดเตปเดเตเดฐเดฟเดเตเดเดพเดฏเดฟ SQL เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเดฃเด, เดเดเตเดเตพ เดเดตเดฟเดเต เดตเดณเดฐเต เดเตเดฑเดฟเดฏ เดเดเดชเดพเดเตเดเดณเดพเดฃเต เดจเดเดคเตเดคเตเดจเตเดจเดคเต. เดเดเดฆเตเดถเด เดชเดฑเดเตเดเดพเตฝ, เดเดเตเดเตพ เดเดฐเต เดตเดฒเดฟเดฏ, เดถเดเตเดคเดฎเดพเดฏ เดเตเดฐเดเตเดเต เดจเดเดฐเดคเตเดคเดฟเดฒเต เดเตเดฐเดพเดซเดฟเดเตเดเดฟเดฒเตเดเตเดเต เดเดเดฟเดเตเดเต, เดธเตเดเตเดเตเดเดฑเตเดเดณเดฟเตฝ เดชเดฟเดธเตเดธ เดกเตเดฒเดฟเดตเดฑเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ เดเดณเตเดเตพ เด เดคเดฟเดจเต เด เดคเดฟเดธเดพเดนเดธเดฟเดเดฎเดพเดฏเดฟ เดฎเดฑเดฟเดเดเดเตเดเตเดจเตเดจเดคเต เดเดฃเตเดเต - เดเดตเดฟเดเต เดคเตเดฐเตเดชเตเดเตเดเต เดชเตเดฐเดงเดพเดจเดฎเดฒเตเดฒ, เดฒเตเดฑเตเดฑเตปเดธเดฟ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดชเตเดฐเดงเดพเดจเด. เดเดฐเต เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต เดธเตเดฑเตเดฑเตเดฑเตเดเดฟเดจเตเด, เด เดคเดฟเดจเตเดฑเต เดตเดฟเดฒเดฏเดฟเตฝ เดเดคเตเดฐ เดชเตเดเตเดฏเดเตเดเดณเตเดฃเตเดเตเดเตเดเดฟเดฒเตเด, เดฒเตเดฑเตเดฑเตปเดธเดฟเดฏเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดฒเตเดเตเดเตฝ SSD-เดฏเต เดคเตเตฝเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ.
(เด เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเดณเดฟเตฝ เดเดพเตป เดเดณเตเดณเด เดชเดฑเดเตเดเดคเดพเดฏเดฟ เดคเตเดณเดฟเดเตเดเต - เดฐเดฃเตเดเดฟเดเดคเตเดคเตเด เดเดพเตป เดเดเตเดจเดฟเตฝเดเตเดเดพเตป เดเดพเดฒเดคเดพเดฎเดธเด เดตเดฐเตเดคเตเดคเดฟ. เดเดพเดฒเดคเดพเดฎเดธเดฎเดฟเดฒเตเดฒเดพเดคเต เดเดคเต เดฎเดพเดฑเตเดจเตเดจเต:
เดกเตเดธเตโเดเตโเดเตเดชเตเดชเต - 39 เดธเตเดเตเดเตปเดกเต, 15K tr/sec, 0.065ms /io เดฑเตเดฃเตเดเตโเดเตเดฐเดฟเดชเตเดชเต
PROD - 360 เดธเตเดเตเดเตปเดกเต, 1600 tr/sec, 0.6ms
เดเดคเต เดตเดณเดฐเต เดตเตเดเดคเดฏเตเดณเตเดณเดคเดพเดฃเตเดจเตเดจเต เดเดพเตป เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดฃเตเดเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต)
เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ เดเดเตเดเตพ เดเดฐเต เดจเดฟเดธเตเดธเดพเดฐ เดเดฆเดพเดนเดฐเดฃเด เดเดชเดฏเตเดเดฟเดเตเดเต เดฑเตเดฎเดพเตป เดธเตเดฑเตเดฑ เดซเดเดเตโเดทเดจเตเดฑเต เดจเดฟเดธเตเดธเดพเดฐ เดชเตเดเตเดฏเดเตเดเตพ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดเดจเตเดจเต เดเตเดฃเตเดเตเดตเดจเตเดจ เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เด เดคเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด เดตเตผ เดชเดฑเดเตเดเดคเต เดถเดฐเดฟเดฏเดพเดฃเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดฌเตเดงเตเดฏเดชเตเดชเตเดเตเดเต, เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดฏเตเดเตเดคเดฟเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดเดฒเตเดฒเดพ เดธเดตเดฟเดถเตเดทเดคเดเดณเตเด เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเตเดเตเดเด เดเตเดฏเตเดฏเดพเตป เดคเตเดเดเตเดเดฟ. เดเดฟเดฒ เดเดเตเดเดเตเดเดณเดฟเตฝ, เดเดจเดฟเดเตเดเต เด เดตเดฐเตเดเต เดเตเดกเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดตเดฒเดฟเดเตเดเตเดฑเดฟเดฏเดพเดจเตเด เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เดเดดเตเดคเดพเดจเตเด เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดเดพเตป เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดฟ - เดเดคเต เด เดคเต เดชเตเดฐเดถเตเดจเด เดชเตเดฐเดเดเดฎเดพเดเตเดเตเดจเตเดจเต - เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเตฝ เดเดคเต 3-4 เดฎเดเดเตเดเต เดฎเดจเตเดฆเดเดคเดฟเดฏเดฟเดฒเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต:
create function dbo.isPrime (@n bigint)
returns int
as
begin
if @n = 1 return 0
if @n = 2 return 1
if @n = 3 return 1
if @n % 2 = 0 return 0
declare @sq int
set @sq = sqrt(@n)+1 -- check odds up to sqrt
declare @dv int = 1
while @dv < @sq
begin
set @dv=@dv+2
if @n % @dv = 0 return 0
end
return 1
end
GO
declare @dt datetime set @dt=getdate()
select dbo.isPrime(1000000000000037)
select datediff(ms,@dt,getdate()) as ms
GO
เดเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดเดฐเต เดธเดเดเตเดฏเดฏเตเดเต เดชเตเดฐเดพเดฅเดฎเดฟเดเดค เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต 6-7-8 เดธเตเดเตเดเตปเดกเต เดเดเตเดเตเดเตเด. เดเดคเต เดจเดฟเดฐเดตเดงเดฟ เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ เดธเดเดญเดตเดฟเดเตเดเต. เดเดจเตเดจเดพเตฝ เดเดฟเดฒเดคเดฟเตฝ, เดชเดฐเดฟเดถเตเดงเดจ 25-40 เดธเตเดเตเดเตปเดกเต เดเดเตเดคเตเดคเต. เดฐเดธเดเดฐเดฎเตเดจเตเดจเต เดชเดฑเดฏเดเตเดเต, เดเดเตเดธเดฟเดเตเดฏเตเดทเตป 14 เดธเตเดเตเดเตปเดกเต เดเดเตเดเตเดเตเดจเตเดจ เดธเตเตผเดตเดฑเตเดเตพ เดเดฒเตเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต - เดเตเดกเต เดตเดณเดฐเต เดตเตเดเดคเตเดคเดฟเดฒเต เดตเดณเดฐเต เดธเดพเดตเดงเดพเดจเดคเตเดคเดฟเดฒเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเต, เด เดคเดพเดฏเดคเต, เดชเตเดฐเดถเตเดจเด เดเดฑเตเดชเตเดชเตเด เดตเตเดณเตเดชเตเดชเตเด เดเดฃเตเดจเตเดจเต เดชเดฑเดฏเดพเด.
เดเดพเตป เดเดจเตเดคเดพเดฃเต เดเตเดฏเตเดคเดคเต? เดตเดฟเดเดเดตเตเดฏเตผ เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต. เด เดตเดฟเดเต เดเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฃเต - เดงเดพเดฐเดพเดณเด เดตเดฟเดญเดตเดเตเดเตพ เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดฑเตเดกเดฟ เดเตเด = 0, เดเดฒเตเดฒเดพเด เดฎเดคเดฟเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดตเตเดเดคเดฏเตเดฑเดฟเดฏเดคเตเด เดตเตเดเดค เดเตเดฑเดเตเดเดคเตเดฎเดพเดฏ เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ เดธเดฟเดชเดฟเดฏเต = 100 เดเดฐเต เดตเดฟเดธเดฟเดชเดฟเดฏเตเดตเดฟเดฒเต เดเตเดธเตเดฑเตเดฑเต เดธเดฎเดฏเดคเตเดคเต. เดชเต เดเดจเตเดจ เดจเดฎเตเดชเตผ เดเดฃเดเตเดเดพเดเตเดเดพเตป เดเดพเตป เดเดฐเต เดเตเดธเตเดฑเตเดฑเต เดจเดเดคเตเดคเดฟ - เดเตเดธเตเดฑเตเดฑเต เดเดคเต เดธเตเตผเดตเดฑเดฟเดฒเตเด เดธเดฎเดพเดจ เดซเดฒเดเตเดเตพ เดเดพเดฃเดฟเดเตเดเต. เดฌเตเดฒเดพเดเตเดเต เดฎเดพเดเดฟเดเตเดเดฟเดจเตเดฑเต เดเดจเตเดงเด เดเตเดเตเดคเตฝ เดถเดเตเดคเดฎเดพเดฏเดฟ.
DEV เดซเดพเดฎเดฟเตฝ เดเดคเตเดคเดฟเดฏเดชเตเดชเตเตพ เดเดพเตป เดธเตเตผเดตเดฑเตเดเดณเตเดฎเดพเดฏเดฟ เดเดณเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดฟ. เดนเตเดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดนเตเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเตเดณเตเดณ vMotion เดเดฐเต เดธเตเตผเดตเดฑเดฟเดจเต "เดธเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป" เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดเดคเต เดฎเดพเดฑเดฟ, เดเดจเตเดจเดพเตฝ เดเดคเดฟเดจเต "เดตเตเดเดคเดฏเตเดณเตเดณ" เดธเตเตผเดตเดฑเดฟเดจเต "เดธเตเดฒเต" เดเดเตเดเดฟ เดฎเดพเดฑเตเดฑเดพเดจเตเด เดเดดเดฟเดฏเตเด. เดเดคเต เดชเตเดฒเต เดคเตเดจเตเดจเตเดจเตเดจเต - เดเดฟเดฒ เดนเตเดธเตเดฑเตเดฑเตเดเตพเดเตเดเต เดเดฐเต เดชเตเดฐเดถเตเดจเดฎเตเดฃเตเดเต... เดชเดเตเดทเต... เดเดฒเตเดฒ. เดเดฟเดฒ เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเตป เดนเตเดธเตเดฑเตเดฑเดฟเตฝ เดฎเดจเตเดฆเดเดคเดฟเดฏเดฟเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด เดชเดฑเดฏเตเด, เดชเดเตเดทเต เดนเตเดธเตเดฑเตเดฑเต เดฌเดฟเดฏเดฟเตฝ เดตเตเดเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเต. เดฎเดฑเตเดฑเตเดฐเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเตป, เดจเตเดฐเตเดฎเดฑเดฟเดเตเดเต, เดเดฏเดฟเตฝ เดตเตเดเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดเดฏเตเด เดฌเดฟเดฏเดฟเตฝ เดตเตเดเดค เดเตเดฑเดฏเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดคเต! "เดตเตเดเดค", "เดธเตเดฒเต" เดเดจเตเดจเต เดฏเดจเตเดคเตเดฐเดเตเดเตพ เดชเดฒเดชเตเดชเตเดดเตเด เดนเตเดธเตเดฑเตเดฑเดฟเตฝ เดเดฑเดเตเดเดฟเดเตเดเตเดฃเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต!
เด เดจเดฟเดฎเดฟเดทเด เดฎเตเดคเตฝ, เดตเดพเดฏเตเดตเดฟเตฝ เดธเตพเดซเดฑเดฟเดจเตเดฑเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดฎเดฃเด เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดชเตเดฐเดถเตเดจเด เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเดฒเตเดเตเดเต เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดฟเตปเดกเตเดธเต เดชเดพเดเตเดเตเดเตพ) - เดเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดเดคเต vMotion เดเดชเดฏเตเดเดฟเดเตเดเต โเดตเตเดเดคโ เดเดฏเดฟ เดฎเดพเดฑเดฟ. เดเดจเตเดจเดพเตฝ เดชเตเดฐเดถเตเดจเด เดนเตเดธเตเดฑเตเดฑเดฟเดจเต เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ - เดเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดเดคเดฟเดจเต โเดตเตเดเดคโ, โเดธเตเดฒเตโ เดฎเตเดทเตเดจเตเดเตพ เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด. เดเตเดเดพเดคเต, เดเดคเต เดฒเตเดกเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดเดคเดฒเตเดฒ - เดนเตเดธเตเดฑเตเดฑเดฟเตฝ เดเดฐเต โเดธเตเดฒเตโ เดฎเตเดทเตเตป เดจเตเดเดพเตป เดเดจเดฟเดเตเดเต เดเดดเดฟเดเตเดเต, เด เดตเดฟเดเต เด เดคเดฟเดจเดชเตเดชเตเดฑเด เดเดจเตเดจเตเดฎเดฟเดฒเตเดฒ.
เดจเดฟเดฐเดพเดถ เดเดพเดฐเดฃเด, เดเดพเตป Syinternals-เตฝ เดจเดฟเดจเตเดจเต Process Explorer เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดเดฏเตเด SQL เดธเตเดฑเตเดฑเดพเดเตเดเต เดจเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดคเต. เดตเตเดเดค เดเตเดฑเดเตเด เดฎเตเดทเตเดจเตเดเดณเดฟเตฝ เดฒเตเตป เดชเตเดเตเดเตเดจเตเดจเต เดเดจเตเดฑเต เดเดฃเตเดฃเดฟเตฝ เดชเตเดเตเดเต:
ntoskrnl.exe!KeSynchronizeExecution+0x5bf6
ntoskrnl.exe!KeWaitForMultipleObjects+0x109d
ntoskrnl.exe!KeWaitForMultipleObjects+0xb3f
ntoskrnl.exe!KeWaitForSingleObject+0x377
ntoskrnl.exe!KeQuerySystemTimePrecise+0x881 < โ !!!
ntoskrnl.exe!ObDereferenceObjectDeferDelete+0x28a
ntoskrnl.exe!KeSynchronizeExecution+0x2de2
sqllang.dll!CDiagThreadSafe::PxlvlReplace+0x1a20
... เดเดดเดฟเดตเดพเดเตเดเดฟ
sqldk.dll!SystemThread::MakeMiniSOSTthread+0xa54
KERNEL32.DLL!BaseThreadInitThunk+0x14
ntdll.dll!RtlUserThreadStart+0x21
เดเดคเต เดเดคเดฟเดจเดเด เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเดฏเดฟเดฐเตเดจเตเดจเต. เดชเตเดฐเตเดเตเดฐเดพเด เดเดดเตเดคเดฟเดฏเดคเต:
class Program
{
[DllImport("kernel32.dll")]
static extern void GetSystemTimePreciseAsFileTime(out FILE_TIME lpSystemTimeAsFileTime);
[StructLayout(LayoutKind.Sequential)]
struct FILE_TIME
{
public int ftTimeLow;
public int ftTimeHigh;
}
static void Main(string[] args)
{
for (int i = 0; i < 16; i++)
{
int counter = 0;
var stopwatch = Stopwatch.StartNew();
while (stopwatch.ElapsedMilliseconds < 1000)
{
GetSystemTimePreciseAsFileTime(out var fileTime);
counter++;
}
if (i > 0)
{
Console.WriteLine("{0}", counter);
}
}
}
}
เด เดชเตเดฐเตเดเตเดฐเดพเด เดเตเดเตเดคเตฝ เดตเตเดฏเดเตเดคเดฎเดพเดฏ เดฎเดพเดจเตเดฆเตเดฏเด เดชเตเดฐเดเดเดฎเดพเดเตเดเดฟ - โเดซเดพเดธเตเดฑเตเดฑเตโ เดฎเตเดทเตเดจเตเดเดณเดฟเตฝ เดเดคเต เดธเตเดเตเดเตปเดกเดฟเตฝ 16-18 เดฆเดถเดฒเดเตเดทเด เดธเตเดเตเดเดฟเดณเตเดเตพ เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต, เด เดคเตเดธเดฎเดฏเด เดตเตเดเดค เดเตเดฑเดเตเด เดฎเตเดทเตเดจเตเดเดณเดฟเตฝ เดเดคเต เดเดจเตเดจเดฐ เดฆเดถเดฒเดเตเดทเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ 700 เดเดฏเดฟเดฐเด เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต. เด เดคเดพเดฏเดคเต, เดตเตเดฏเดคเตเดฏเดพเดธเด 10-20 เดฎเดเดเตเดเต (!!!). เดเดคเต เดเดคเดฟเดจเดเด เดคเดจเตเดจเต เดเดฐเต เดเตเดฑเดฟเดฏ เดตเดฟเดเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต: เดเดจเตเดคเดพเดฏเดพเดฒเตเด, เดฎเตเดเตเดฐเตเดธเตเดซเตเดฑเตเดฑเดฟเดจเตเดฑเตเดฏเตเด เดตเดฟเดเดเดตเตเดฏเดฑเดฟเดจเตเดฑเตเดฏเตเด เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเดฟเดเดฏเดฟเตฝ เดเตเดเตเดเตเดเดฟเดชเตเดชเตเดเตเดฎเตเดจเตเดจ เดญเตเดทเดฃเดฟ เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ, เด เดเตเดเดจเต เด เดต เดชเดฐเดธเตเดชเดฐเด เด เดฎเตเดชเดเดฏเดพเดณเดเตเดเตพ เดคเดฟเดฐเดฟเดเตเดเตเด.
เดคเตเดเตผเดจเตเดจเต เดชเตเดฐเตเดเดคเดฟ เดจเดฟเดฒเดเตเดเต - เด เดตเดงเดฟเดเตเดเดพเดฒเด, เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดเดพเดฐเตเดฏเดเตเดเตพ, เดตเตเดฑเตฝ เดนเดฟเดธเตเดฑเตเดฑเตเดฐเดฟเดฏ, เดเตเดฒเดฟเดญเดพเดฐเดคเตเดคเดฟเตฝ เดเตเดคเตเดคเดจเต เดตเตผเดฆเตเดงเดจเดตเต. เดเดพเตป เดชเดฒเดชเตเดชเตเดดเตเด เดเดจเตเดฑเต เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเดฐเตเดเต เดฎเดพเดจเตเดคเตเดฐเดฟเด เดชเตเดฐเดถเตเดจเด เดชเดฐเดพเดฎเตผเดถเดฟเดเตเดเดพเดฑเตเดฃเตเดเต, เดชเดเตเดทเต เดเดฟเดฒเดชเตเดชเตเตพ เด เดตเตผ เดเดจเตเดจเต เดตเดฟเดถเตเดตเดธเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจเต - เดตเดฟเดเดเดตเตเดฏเตผ เดเตเดกเต 10-20 เดฎเดเดเตเดเต เดฎเดจเตเดฆเดเดคเดฟเดฏเดฟเดฒเดพเดเตเดเตเดจเตเดจเต เดเดจเตเดจ เดชเตเดฐเดธเตเดคเดพเดตเดจ เดตเดณเดฐเต เดญเดฏเดพเดจเดเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต.
เดเดจเตเดคเดพเดฃเต เดเดจเตเดจเต เดฎเดจเตเดฆเดเดคเดฟเดฏเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดเดพเตป เดธเตเดตเดฏเด เดเตเดดเดฟเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเต. เดเดฟเดฒ เดธเดฎเดฏเดเตเดเดณเดฟเตฝ เดเดพเตป เดเดฐเต เดชเดฐเดฟเดนเดพเดฐเด เดเดฃเตเดเตเดคเตเดคเดฟเดฏเดคเดพเดฏเดฟ เดเดจเดฟเดเตเดเต เดคเตเดจเตเดจเดฟ - เดนเตเดเตเดเต เดชเตเดฒเดเตเดเตพ เดเดฃเดพเดเตเดเตเดจเตเดจเดคเตเด เดเดซเดพเดเตเดเตเดจเตเดจเดคเตเด, เดฎเตเดฎเตเดฎเดฑเดฟเดฏเตเดเต เด เดณเดตเต เดชเตเดฐเตเดธเดธเตเดธเดฑเตเดเดณเตเดเต เดเดฃเตเดฃเดฎเต เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเต เดชเดฒเดชเตเดชเตเดดเตเด เดฎเตเดทเตเดจเต โเดตเตเดเดคโ เดเดเตเดเดฟ เดฎเดพเดฑเตเดฑเดฟ. เดเดจเตเดจเดพเตฝ เดเดจเตเดจเตเดเตเดเตเด เด เดฒเตเดฒ. เดชเดเตเดทเต, เดชเตเดฑเดคเตเดคเตเดชเตเดฏเดฟ เดเดเตเดฐเดคเตเดคเดฟเตฝ เดคเดเตเดเดฟเดฏเดพเตฝ เดฎเดคเดฟเดฏเตเดจเตเดจเดคเดพเดฃเต เดธเดคเตเดฏเดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟเดฏเดคเต - เด เดคเดพเดฏเดคเต, เดฎเดพเดฑเตเดฑเด เดเดคเตเดเตเดเดฟเดฒเตเด เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเตป เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ
เดเดเตเดตเดฟเตฝ, เดเดจเตเดฑเต เด เดฎเตเดฐเดฟเดเตเดเตป เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเตผ เดชเตเดเตเดเตเดจเตเดจเต เดฎเตเดฒเดเดพเดฐเดฃเด เดเดฃเตเดเตเดคเตเดคเดฟ.
เดเดคเดฟเดฅเตเดฏเดฐเตเดเต เดเดตเตเดคเตเดคเดฟเดฏเดฟเตฝ เดตเตเดฏเดคเตเดฏเดพเดธเดฎเตเดฃเตเดเต!
- เดเดเตเดเด เดชเตเดฒเต, เดเดคเต เดเดฐเต เดตเดฒเดฟเดฏ เดเดพเดฐเตเดฏเดฎเดฒเตเดฒ. เดชเดเตเดทเต: เดเดฐเต 'เดจเตเดฑเตเดฑเตเดตเต' เดนเตเดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต 'เดตเตเดฏเดคเตเดฏเดธเตโเดค' เดเดตเตเดคเตเดคเดฟเดฏเตเดณเตเดณ เดนเตเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฎเตเดชเตเตพ, VMware GetTimePrecise เดซเดฒเด เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดฃเด.
- เดเดเตเดเด เดชเตเดฒเต, SQL เดธเตเตผเดตเตผ เดชเตเดฒเต เดธเตเดเตเดเดจเตเดฑเดฟเตฝ เดฆเดถเดฒเดเตเดทเดเตเดเดฃเดเตเดเดฟเดจเต เดคเดตเดฃ เดเตเดคเตเดฏเดฎเดพเดฏ เดธเดฎเดฏเด เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดคเต เดเดฐเต เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ.
- เดเดจเตเดจเดพเตฝ เดเดคเต เดญเดฏเดพเดจเดเดฎเดฒเตเดฒ, เดเดพเดฐเดฃเด SQL เดธเตเตผเดตเตผ เดเดฒเตเดฒเดพเดฏเตเดชเตเดชเตเดดเตเด เดเดคเต เดเตเดฏเตเดฏเดฟเดฒเตเดฒ (เดเดชเดธเดเดนเดพเดฐเด เดเดพเดฃเตเด)
เดเดจเตเดจเดพเตฝ เด เดฑเตเดเตเดเต เดถเดเตเดคเดฎเดพเดฏเดฟ เด เดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเตเดธเตเดเดณเตเดฃเตเดเต. เดเดจเตเดจเดฟเดเตเดเตเด, เด เดคเต, เดตเตเดฒเดฟเตฝ เดเดพเดชเตเดชเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเตเดเต (เดตเดฟเดเด เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเดณเดฟเตฝ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดฒเตเดเต) เดเตเตบเดซเดฟเดเดฑเตเดทเตป 'เดตเตเดฃเตเดเตเด เดเดฃเดเตเดเดพเดเตเดเดพเตป' เดเดพเตป เดตเดฟเดเดเดตเตเดฏเดฑเดฟเดจเต เดจเดฟเตผเดฌเดจเตเดงเดฟเดเตเดเต, เดจเดฟเดฒเดตเดฟเดฒเต เดนเตเดธเตเดฑเตเดฑเดฟเดจเตเดฑเต เดเดตเตเดคเตเดคเดฟ เดฎเตเดทเตเดจเตเดฑเต 'เดจเตเดฑเตเดฑเตเดตเต' เดเดตเตเดคเตเดคเดฟเดฏเดพเดฏเดฟ เดฎเดพเดฑเดฟ.
เดคเตเดฐเตเดฎเดพเดจเด
เดจเดฟเดเตเดเตพ เดเดฟเดเดธเตโเดธเดฟเดฏเตเดเต เดตเดฟเตผเดเตเดเตเดตเดฒเตเดธเตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเตเดฎเตเดชเตเตพ, เดตเดฟเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฟเดเดธเตโเดธเดฟ เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจเดคเต เดซเดฟเดธเดฟเดเตเดเตฝ เดฎเตเดทเตเดจเตเดฑเต เดเดฟเดเดธเตโเดธเดฟ เดฎเตเดฒเตเดฏเด เดจเตฝเดเตเดจเตเดจเต, เดเตเดเดพเดคเต เดตเดฟเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฟเดเดธเตโเดธเดฟ เดเดดเตเดคเตเดจเตเดจเดคเต เดซเดฒเดฎเตเดฃเตเดเดพเดเตเดเดฟเดฒเตเดฒ. เดฎเดฑเตเดฑเตเดฐเต เดนเตเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเตป เดฎเตเดเตเดฐเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต, เดธเดธเตเดชเตเตปเดกเต เดเตเดฏเตเดค เด เดตเดธเตเดฅเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเต, เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฐเต เดธเตเดจเดพเดชเตเดชเตเดทเตเดเตเดเดฟเดฒเตเดเตเดเต เดชเตเดจเดเดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจเดคเต, TSC เดคเตเดเตผเดเตเดเดฏเดพเดฏเดฟ เดเตเดคเดฟเดเตเดเดพเตป เดเดเดฏเดพเดเตเดเตเดจเตเดจเต. เดเดฟเดเดธเตโเดธเดฟ เดตเดฟเตผเดเตเดเตเดตเดฒเตเดธเตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเตเดฎเตเดชเตเตพ เดเดฟเดฒ เดเดธเตเดฑเตเดฑเต เดเดชเตเดชเดฑเตเดฑเตเดฑเดฟเดเดเต เดธเดฟเดธเตเดฑเตเดฑเดเตเดเตพ เดฌเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเตฝ เดชเดฐเดพเดเดฏเดชเตเดชเตเดเตเดเดฏเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฎเดฑเตเดฑเต เดเตเด เดเตเดชเตเดชเดฟเดเดเต เดชเตเดฐเดถเตเดจเดเตเดเตพ เดเดพเดฃเดฟเดเตเดเตเดเดฏเต เดเตเดฏเตเดฏเตเดจเตเดจเต. เดฎเตเตปเดเดพเดฒเดเตเดเดณเดฟเตฝ, TSC เดชเดคเดฟเดตเดพเดฏเดฟ เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเดณเตเดเต เดชเตเดฐเดเดเดจเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เด เดธเดตเดฟเดถเตเดทเดค เดเดฟเดฒเดชเตเดชเตเตพ เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเดชเตเดชเตเดเตเดเดฟเดเตเดเตเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เดตเตเตผเดเตเดตเตฝ TSC เดฏเตเดเต เดชเตเดฐเดเดเดจเด เดจเดฟเดฒเดตเดฟเดฒเต เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเดฟเตฝ เดเดฃเตเดฏเดฎเดพเดฏเดฟ เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต. เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเตฝ เดคเดคเตเดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต เดเตเดคเตเดฏเดฎเดพเดฏ เดเดฑเดตเดฟเดเด เดเดตเดถเตเดฏเดฎเดพเดฏ เด เดณเดตเตเดเตพ เดจเดเดคเตเดคเตเดฎเตเดชเตเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเดจเตเด เด เดธเดตเดฟเดถเตเดทเดค เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต.
เดเตเดฐเตเดเตเดเดคเตเดคเดฟเตฝ, เดจเดฟเดเตเดเตพ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดเตเตผเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต
monitor_control.virtual_rdtsc = เดคเตเดฑเตเดฑเต
เดคเตเดฐเตเดฎเดพเดจเด
เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเตเดฆเตเดฏเดฎเตเดฃเตเดเดพเดเดพเด: เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเต SQL เดชเดฒเดชเตเดชเตเดดเตเด GetTimePrecise เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเดคเต?
เดเดจเตเดฑเต เดชเดเตเดเตฝ SQL เดธเตเตผเดตเตผ เดธเตเดดเตโเดธเต เดเตเดกเต เดเดฒเตเดฒ, เดเดจเตเดจเดพเตฝ เดฒเตเดเดฟเดเต เดเดคเต เดชเดฑเดฏเตเดจเตเดจเต. เดเดธเตโเดเตเดฏเตเดเตฝ เดฎเดฟเดเตเดเดตเดพเดฑเตเด เดธเดนเดเดฐเดฃ เดเตบเดเดฑเตปเดธเดฟเดฏเตเดณเตเดณ เดเดฐเต เดเดชเตเดชเดฑเตเดฑเตเดฑเดฟเดเดเต เดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฃเต, เด เดตเดฟเดเต เดเดฐเต เดคเตเดฐเตเดกเตเด เดเดพเดฒเดพเดเดพเดฒเดเตเดเดณเดฟเตฝ "เดจเตฝเดเดฃเด". เดเดคเต เดเตเดฏเตเดฏเดพเตป เดเดฑเตเดฑเดตเตเด เดจเดฒเตเดฒ เดธเตเดฅเดฒเด เดเดตเดฟเดเตเดฏเดพเดฃเต? เดธเตเดตเดพเดญเดพเดตเดฟเด เดเดพเดคเตเดคเดฟเดฐเดฟเดชเตเดชเต เดเดณเตเดณเดฟเดเดคเตเดคเต - เดฒเตเดเตเดเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เด.เด. เดถเดฐเดฟ, เดชเดเตเดทเต เดจเดฎเตเดฎเตพ เดเดฎเตเดชเตเดฏเตเดเตเดเตเดทเดฃเตฝ เดฒเตเดชเตเดชเตเดเตพ เดธเตเดชเดฟเดจเตเดจเดฟเดเดเต เดเตเดฏเตเดฏเตเดเดฏเดพเดฃเตเดเตเดเดฟเดฒเต? เด เดชเตเดชเตเตพ เดตเตเดฏเดเตเดคเดตเตเด เดเดคเดพเดฃเตเดเต เดเดฐเตเดฏเตเดฐเต เดธเตเดฅเดฒเด เดตเตเดฏเดพเดเตเดฏเดพเดคเดพเดตเดฟเดฒเดพเดฃเต (เดเดคเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดเดฐเต เดตเตเดฏเดพเดเตเดฏเดพเดคเดพเดตเดฒเตเดฒ), เด เดเตเดคเตเดค เดชเตเดฐเดธเตเดคเดพเดตเดจ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟเดฏ เดถเตเดทเด.
เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เดถเตเดฆเตเดงเดฎเดพเดฏ เดเดฎเตเดชเตเดฏเตเดเตเดเดฟเดเดเต เดจเตเดฏเดฟเดฒเดฟเดเดเดฟเดจเดพเดฏเดฟ SQL เดธเตเตผเดตเตผ เดเดชเดฏเตเดเดฟเดเตเดเดพเดฑเดฟเดฒเตเดฒ, เดเดคเต เดเดฐเต เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ. เดเดจเตเดจเดพเตฝ เดเดฒเตเดฒเดพเดคเตเดคเดฐเด เดคเดพเตฝเดเตเดเดพเดฒเดฟเด เดเตเดฌเดฟเดณเตเดเดณเดฟเดฒเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดฒเตเดชเตเดชเตเดเตพ (เด เดคเต เดเดเดจเดเดฟ เดเดพเดทเต เดเตเดฏเตเดฏเดชเตเดชเตเดเตเด) เดเตเดกเต เดตเดณเดฐเต เดตเตเดเดคเตเดคเดฟเตฝ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจ เดชเตเดฐเดธเตเดคเดพเดตเดจเดเดณเตเดเต เดเดฐเต เดถเตเดฐเตเดฃเดฟเดฏเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเตเดจเตเดจเต.
เดตเดดเดฟเดฏเดฟเตฝ, เดจเดฟเดเตเดเตพ เดซเดเดเตโเดทเตป เดจเตเดฑเตเดฑเตเดตเต เดเดฏเดฟ เดเดเดชเตเตฝ เดเตเดฏเตโเดคเดพเตฝ, เด
เดคเต เดธเดฎเดฏเด เดเตเดฆเดฟเดเตเดเตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต, เด
เดคเดฟเดจเตเดฑเต เดตเตเดเดค 10 เดฎเดเดเตเดเต เดตเตผเดฆเตเดงเดฟเดเตเดเตเดจเตเดจเต. เดธเดนเดเดฐเดฃ เดฎเตพเดเตเดเดฟเดเดพเดธเตโเดเดฟเดเดเดฟเดจเตเดฑเต เดเดพเดฐเตเดฏเดฎเต? เดเดจเตเดจเดพเตฝ เดจเตเดฑเตเดฑเตเดตเต เดเดฏเดฟ เดเดเดชเตเตฝ เดเตเดฏเตเดค เดเตเดกเดฟเดจเต เดเดเตเดเตพ SQL-เตฝ เดชเตเดฐเตเดเดเดชเตเดฑเตเดฑเตเดตเต เดฎเตพเดเตเดเดฟเดเดพเดธเตเดเดฟเดเดเต เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต.
เด
เดตเดฒเดเดฌเด: www.habr.com