แž”แžถแž‘ แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž™แžฝแžšแžŠแŸƒแž…แžถแžŸแŸ‹แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ†แž˜แžถแž“แžแžถแž˜แž–แž›แžแŸ’แž›แžถแŸ†แž„แž‡แžถแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แž›แžทแžแž€แž˜แŸ’แž˜แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”

แž‘แžถแŸ†แž„แž“แŸแŸ‡แž–แžทแžแž‡แžถแž–แžถแž€แŸ’แž™แž”แžŽแŸ’แžแžนแž„แžŠแŸ‚แž›แžแŸ’แž‰แžปแŸ†แž”แžถแž“แžฎแž–แžธแžขแŸ’แž“แž€แžขแž—แžทแžœแžŒแŸ’แžแž“แŸแžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แžขแŸ’แžœแžธโ€‹แžŠแŸ‚แž›โ€‹แž‚แžฝแžšโ€‹แžฑแŸ’แž™โ€‹แž…แžถแž”แŸ‹โ€‹แžขแžถแžšแž˜แŸ’แž˜แžŽแŸโ€‹แž”แŸ†แž•แžปแžโ€‹แž“แŸ„แŸ‡โ€‹แž‚แžบโ€‹แžแžถโ€‹แž“แŸแŸ‡โ€‹แž”แžถแž“โ€‹แž€แŸ’แž›แžถแž™โ€‹แž‘แŸ…โ€‹แž‡แžถโ€‹แž€แžถแžšโ€‹แž–แžทแžโ€‹แžŠแŸ‚แž›โ€‹แž’แŸ’แžœแžพโ€‹แžฑแŸ’แž™โ€‹แž˜แžถแž“โ€‹แž€แžถแžšโ€‹แžŸแŸŠแžพแž”โ€‹แžขแž„แŸ’แž€แŸแžโ€‹แžŠแŸโ€‹แž™แžผแžšแŸ” แž™แžพแž„แž“แžนแž„แž“แžทแž™แžถแž™แžขแŸ†แž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ SQL แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ VMware แŸ”

แž”แžถแž‘ แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž™แžฝแžšแžŠแŸƒแž…แžถแžŸแŸ‹แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ†แž˜แžถแž“แžแžถแž˜แž–แž›แžแŸ’แž›แžถแŸ†แž„แž‡แžถแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แž›แžทแžแž€แž˜แŸ’แž˜แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”

แžแžถแž˜แž–แžทแžแž‘แŸ… แžœแžถแž„แžถแž™แžŸแŸ’แžšแžฝแž›แž€แŸ’แž“แžปแž„แž€แžถแžšแž’แžถแž“แžถแžแžถแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แž›แžทแžแž‚แžบแž‚แŸ’แž˜แžถแž“แžŸแž„แŸ’แžƒแžนแž˜แž“แŸ…แž–แžธแž€แŸ’แžšแŸ„แž™แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž™แžฝแžšแžŠแŸƒแŸ” แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžท (แž˜แžทแž“แž“แŸ…แž›แžพ tempdb แž“แžทแž„แž˜แžทแž“แž“แŸ…แž›แžพแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž–แž“แŸ’แž™แžถแž–แŸแž›แž™แžผแžšแžขแž„แŸ’แžœแŸ‚แž„แž”แžถแž“แž”แžพแž€) แž€แžผแžŠ:

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 roundtrip
PROD - 360 แžœแžทแž“แžถแž‘แžธ 1600 tr/sec, 0.6ms
แžแŸ’แž‰แžปแŸ†แž‚แžฝแžšแž€แžแŸ‹แžŸแŸ†แž‚แžถแž›แŸ‹แžแžถแžœแžถแž›แžฟแž“แž–แŸแž€)

แž‘แŸ„แŸ‡แž™แŸ‰แžถแž„แžŽแžถแž€แŸแžŠแŸ„แž™ แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแž“แŸแŸ‡ แž™แžพแž„แž€แŸ†แž–แžปแž„แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž‡แžถแž˜แžฝแž™แž“แžนแž„แž›แŸแžแžŸแžผแž“แŸ’แž™แž“แŸƒแž˜แžปแžแž„แžถแžš Riemann zeta แž‡แžถแž˜แžฝแž™แž“แžนแž„แžงแž‘แžถแž แžšแžŽแŸแžŠแŸแž€แž˜แŸ’แžšแž˜แžฝแž™แŸ” แž“แŸ…แž€แŸ’แž“แžปแž„แžงแž‘แžถแž แžšแžŽแŸแžŠแŸ‚แž›แžขแŸ’แž“แž€แžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž”แžถแž“แž“แžถแŸ†แž˜แž€แžแŸ’แž‰แžปแŸ†แž‚แžบแžแžปแžŸแž‚แŸ’แž“แžถแŸ” แžแŸ’แž‰แžปแŸ†โ€‹แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž‚แŸโ€‹แž‡แžฟโ€‹แž‡แžถแž€แŸ‹โ€‹แžแžถโ€‹แž–แžฝแž€โ€‹แž‚แŸโ€‹แž“แžทแž™แžถแž™โ€‹แžแŸ’แžšแžผแžœ แž แžพแž™โ€‹แž”แžถแž“โ€‹แž…แžถแž”แŸ‹โ€‹แž•แŸ’แžแžพแž˜โ€‹แžŠแž€โ€‹แž…แŸแž‰โ€‹แž–แžธโ€‹แžงแž‘แžถแž แžšแžŽแŸโ€‹แž“แŸƒโ€‹แž—แžถแž–โ€‹แž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹โ€‹แžšแž”แžŸแŸ‹โ€‹แž–แžฝแž€โ€‹แž‚แŸโ€‹แž‘แžถแŸ†แž„โ€‹แžขแžŸแŸ‹โ€‹แžŠแŸ‚แž›โ€‹แž‘แžถแž€แŸ‹โ€‹แž‘แž„โ€‹แž“แžนแž„โ€‹แžแž€แŸ’แž€แžœแžทแž‡แŸ’แž‡แžถโ€‹แžขแžถแž‡แžธแžœแž€แž˜แŸ’แž˜แŸ” แž“แŸ…แž…แŸ†แžŽแžปแž…แžแŸ’แž›แŸ‡แžแŸ’แž‰แžปแŸ†แž”แžถแž“แžŠแžนแž„แžแžถแžแŸ’แž‰แžปแŸ†แžขแžถแž…แž”แŸ„แŸ‡แž…แŸ„แž›แž€แžผแžŠแžšแž”แžŸแŸ‹แž–แžฝแž€แž‚แŸแž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แž แžพแž™แžŸแžšแžŸแŸแžšแžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžฏแž„ - แžŠแŸ‚แž›แž”แž„แŸ’แž แžถแž‰แž–แžธแž”แž‰แŸ’แž แžถแžŠแžผแž…แž‚แŸ’แž“แžถ - แž“แŸ…แž€แŸ’แž“แžปแž„แž•แž›แžทแžแž€แž˜แŸ’แž˜แžœแžถแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž™แžบแžแž‡แžถแž„ 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 แžœแžทแž“แžถแž‘แžธแž‘แŸ - แž€แžผแžŠแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžฟแž“แžฌแž™แžบแžแžŽแžถแžŸแŸ‹ แž“แŸ„แŸ‡แž‚แžบแž‡แžถแž”แž‰แŸ’แž แžถ แžงแž”แž˜แžถแžแžถแžแŸ’แž˜แŸ… แž“แžทแž„แžŸแŸ”

แžแžพแžแŸ’แž‰แžปแŸ†แž”แžถแž“แž’แŸ’แžœแžพแžขแŸ’แžœแžธแžแŸ’แž›แŸ‡? แž”แžถแž“แž”แŸ’แžšแžพแžšแž„แŸ’แžœแžถแžŸแŸ‹ VMware แŸ” แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž‚แžบแž›แŸ’แžขแž“แŸ…แž‘แžธแž“แŸ„แŸ‡ - แž˜แžถแž“แž’แž“แž’แžถแž“แž…แŸ’แžšแžพแž“ แž–แŸแž›แžœแŸแž›แžถแžแŸ’แžšแŸ€แž˜แžšแžฝแž…แžšแžถแž›แŸ‹ = 0 แž˜แžถแž“แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹ แžขแŸ†แžกแžปแž„แž–แŸแž›แž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแž›แžพแžŸแŸŠแžธแž—แžธแž™แžผแž‘แžถแŸ†แž„แž›แŸ’แž”แžฟแž“แž›แžฟแž“ แž“แžทแž„แž™แžบแžแžŸแŸŠแžธแž—แžธแž™แžผ = 100 แž“แŸ…แž›แžพ vCPU แž˜แžฝแž™แŸ” แžแŸ’แž‰แžปแŸ†แž”แžถแž“แž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแžŠแžพแž˜แŸ’แž”แžธแž‚แžŽแž“แžถแž›แŸแž Pi - แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแž”แž„แŸ’แž แžถแž‰แž›แž‘แŸ’แž’แž•แž›แžŠแžผแž…แž‚แŸ’แž“แžถแž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแžŽแžถแž˜แžฝแž™แŸ” แž€แŸ’แž›แžทแž“แž“แŸƒแžœแŸแž‘แž˜แž“แŸ’แžแžแŸ’แž˜แŸ…แž€แžถแž“แŸ‹แžแŸ‚แžšแžนแž„แž˜แžถแŸ†แž“แžทแž„แž€แžถแž“แŸ‹แžแŸ‚แžแŸ’แž›แžถแŸ†แž„แŸ”

แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แžแŸ’แž‰แžปแŸ†แž‘แŸ…แžŠแž›แŸ‹แž€แžŸแžทแžŠแŸ’แž‹แžถแž“ DEV แžแŸ’แž‰แžปแŸ†แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž›แŸแž„แž‡แžถแž˜แžฝแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแŸ” แžœแžถแž”แŸ’แžšแŸ‚แžแžถ vMotion แž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžขแžถแž… "แž–แŸ’แž™แžถแž”แžถแž›" แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžœแžถแž€แŸแžขแžถแž…แž”แŸ’แžšแŸ‚แž€แŸ’แž›แžถแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ "แž›แžฟแž“" แž‘แŸ…แž‡แžถ "แž™แžบแž" แž•แž„แžŠแŸ‚แžšแŸ” แžœแžถแž แžถแž€แŸ‹แžŠแžผแž…แž‡แžถแž“แŸแŸ‡แž‚แžบแžœแžถ - แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž˜แžถแž“แž”แž‰แŸ’แž แžถ ... แž”แŸ‰แžปแž“แŸ’แžแŸ‚ ... แž‘แŸแŸ” แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž˜แžถแž“แž—แžถแž–แž™แžบแžแž™แŸ‰แžถแžœแž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“ แž“แžทแž™แžถแž™แžแžถ A แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž”แžถแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž™แŸ‰แžถแž„แž›แžฟแž“แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“ BแŸ” แž แžพแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž˜แžฝแž™แž‘แŸ€แž แž•แŸ’แž‘แžปแž™แž‘แŸ…แžœแžทแž‰แž”แžถแž“แž’แŸ’แžœแžพแž€แžถแžšแž™แŸ‰แžถแž„แž›แžฟแž“แž“แŸ…แž›แžพ A แž“แžทแž„แž”แž“แŸ’แžแž™แž›แŸ’แž”แžฟแž“แž“แŸ…แž›แžพ B! แž‘แžถแŸ†แž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“ "แž›แžฟแž“" แž“แžทแž„ "แž™แžบแž" แžแŸ‚แž„แžแŸ‚แžœแžทแž›แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“!

แž…แžถแž”แŸ‹โ€‹แž–แžธโ€‹แž–แŸแž›โ€‹แž“แŸ„แŸ‡โ€‹แž˜แž€ แž˜แžถแž“โ€‹แž€แŸ’แž›แžทแž“โ€‹แžŸแŸ’แž–แžถแž“แŸ‹แž’แŸแžšโ€‹แž“แŸ…โ€‹แž€แŸ’แž“แžปแž„โ€‹แžขแžถแž€แžถแžŸแŸ” แž™แŸ‰แžถแž„แžŽแžถแž˜แžทแž‰แž”แž‰แŸ’แž แžถแž˜แžทแž“แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸ†แžŽแžแŸ‹แž‚แžปแžŽแž›แž€แŸ’แžแžŽแŸˆแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž (แžงแž‘แžถแž แžšแžŽแŸแž”แŸ†แžŽแŸ‡แžœแžธแž“แžŠแžผ) - แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž‘แžถแŸ†แž„แžขแžŸแŸ‹แžœแžถแž”แŸ’แžšแŸ‚แž‘แŸ…แž‡แžถ "แž›แžฟแž“" แž‡แžถแž˜แžฝแž™ vMotion แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž”แž‰แŸ’แž แžถแž€แŸแž˜แžทแž“แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸ†แžŽแžแŸ‹แž‚แžปแžŽแž›แž€แŸ’แžแžŽแŸˆแž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŠแŸ‚แžš - แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž‘แžถแŸ†แž„แžขแžŸแŸ‹แžœแžถแžขแžถแž…แž˜แžถแž“แž‘แžถแŸ†แž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“ "แž›แžฟแž“" แž“แžทแž„ "แž™แžบแž" แŸ” แžŠแžผแž…แž‚แŸ’แž“แžถแž“แŸแŸ‡แž•แž„แžŠแŸ‚แžšแž“แŸแŸ‡แž˜แžทแž“แž‘แžถแž€แŸ‹แž‘แž„แž‘แŸ…แž“แžนแž„แž”แž“แŸ’แž‘แžปแž€แž‘แŸ - แžแŸ’แž‰แžปแŸ†แž”แžถแž“แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“ "แž™แžบแž" แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŠแŸ‚แž›แž‚แŸ’แž˜แžถแž“แžขแŸ’แžœแžธแž€แŸ’แžšแŸ…แž–แžธแžœแžถแŸ”

แžŠแŸ„แž™แžขแžŸแŸ‹แžŸแž„แŸ’แžƒแžนแž˜ แžแŸ’แž‰แžปแŸ†แž”แžถแž“แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžš Explorer แž–แžธ Sysinternals แž แžพแž™แž˜แžพแž›แž›แžพ SQL stack แŸ” แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž™แžบแž แžแŸ’แžŸแŸ‚แž“แŸแŸ‡แž…แžถแž”แŸ‹แž—แŸ’แž“แŸ‚แž€แžแŸ’แž‰แžปแŸ†แž—แŸ’แž›แžถแž˜แŸ–

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 แžŠแž„ (!!!) แŸ” แž“แŸแŸ‡โ€‹แž‡แžถโ€‹แž€แžถแžšโ€‹แž‘แž‘แžฝแž›โ€‹แž‡แŸแž™โ€‹แž‡แž˜แŸ’แž“แŸ‡โ€‹แžŠแŸโ€‹แžแžผแž…โ€‹แž˜แžฝแž™โ€‹แžšแžฝแž…โ€‹แž‘แŸ…โ€‹แž แžพแž™แŸ– แž‘แŸ„แŸ‡โ€‹แž‡แžถโ€‹แž™แŸ‰แžถแž„โ€‹แžŽแžถโ€‹แž€แŸโ€‹แžŠแŸ„แž™ แž˜แžทแž“โ€‹แž˜แžถแž“โ€‹แž€แžถแžšโ€‹แž‚แŸ†แžšแžถแž˜โ€‹แž€แŸ†แž แŸ‚แž„โ€‹แž€แŸ’แž“แžปแž„โ€‹แž€แžถแžšโ€‹แž‡แžถแž”แŸ‹แž‚แžถแŸ†แž„โ€‹แžšแžœแžถแž„โ€‹แž€แžถแžšโ€‹แž‚แžถแŸ†แž‘แŸ’แžšโ€‹แžšแž”แžŸแŸ‹ Microsoft แž“แžทแž„ VMware แžŠแžผแž…แŸ’แž“แŸแŸ‡โ€‹แž–แžฝแž€โ€‹แž‚แŸโ€‹แž“แžนแž„โ€‹แž”แž„แŸ’แžœแŸ‚แžšโ€‹แž–แŸ’แžšแžฝแž‰โ€‹แžŠแžถแž€แŸ‹โ€‹แž‚แŸ’แž“แžถแŸ”

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แžœแžŒแŸ’แžแž“แž—แžถแž–แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แžˆแž”แŸ‹ - แžœแžทแžŸแŸ’แžŸแž˜แž€แžถแž› แž”แž‰แŸ’แž แžถแžŸแŸ†แžแžถแž“แŸ‹แŸ— แž—แžถแž–แž…แŸ’แžšแž”แžผแž€แž…แŸ’แžšแž”แž›แŸ‹แž“แŸƒแž˜แŸแžšแŸ„แž‚ แž“แžทแž„แž€แžถแžšแž€แžพแž“แžกแžพแž„แž™แŸ‰แžถแž„แžแŸ’แž›แžถแŸ†แž„แž“แŸƒแž”แž“แŸ’แž‘แžปแž€แž€แžถแžšแž„แžถแžšแŸ” แž‡แžถแžšแžฟแž™แŸ—แžแŸ’แž‰แžปแŸ†แž”แžถแž“แž›แžพแž€แžกแžพแž„แž–แžธแž”แž‰แŸ’แž แžถแžœแŸแž‘แž˜แž“แŸ’แžแž‘แŸ…แž€แžถแž“แŸ‹แž˜แžทแžแŸ’แžแžšแžฝแž˜แž€แžถแžšแž„แžถแžšแžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ† แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž–แŸแž›แžแŸ’แž›แŸ‡แžœแžถแž แžถแž€แŸ‹แž”แžธแžŠแžผแž…แž‡แžถแž–แžฝแž€แž‚แŸแž˜แžทแž“แžแŸ‚แž„แžแŸ‚แž‡แžฟแžแŸ’แž‰แžปแŸ†แž‘แŸ - แžŸแŸแž…แž€แŸ’แžแžธแžแŸ’แž›แŸ‚แž„แž€แžถแžšแžŽแŸแžŠแŸ‚แž›แžแžถ VMware แž”แž“แŸ’แžแž™แž€แžผแžŠแžŠแŸ„แž™ 10-20 แžŠแž„แž‚แžบแžขแžŸแŸ’แž…แžถแžšแŸ’แž™แž–แŸแž€แŸ”

แžแŸ’แž‰แžปแŸ†โ€‹แž–แŸ’แž™แžถแž™แžถแž˜โ€‹แžŸแŸ’แžœแŸ‚แž„โ€‹แžšแž€โ€‹แžแŸ’แž›แžฝแž“โ€‹แžฏแž„โ€‹แž“แžผแžœโ€‹แžขแŸ’แžœแžธโ€‹แžŠแŸ‚แž›โ€‹แž’แŸ’แžœแžพโ€‹แžฑแŸ’แž™โ€‹แžแŸ’แž‰แžปแŸ†โ€‹แž™แžบแžแŸ” แž–แŸแž›แžแŸ’แž›แŸ‡แžœแžถแž แžถแž€แŸ‹แžŠแžผแž…แž‡แžถแžแŸ’แž‰แžปแŸ†แžแžถแžแŸ’แž‰แžปแŸ†แž”แžถแž“แžšแž€แžƒแžพแž‰แžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž˜แžฝแž™ - แž”แžพแž€ แž“แžทแž„แž”แžทแž‘ Hot plugs แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž”แžšแžทแž˜แžถแžŽแž“แŸƒ memory แžฌแž…แŸ†แž“แžฝแž“ processors แž‡แžถแžšแžฟแž™แŸ—แž’แŸ’แžœแžพแžขแŸ„แž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž‘แŸ…แž‡แžถ "แž›แžฟแž“"แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแžšแŸ€แž„แžšแž แžผแžแž‘แŸแŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžขแŸ’แžœแžธแžŠแŸ‚แž›แž”แŸ’แžšแŸ‚แž‘แŸ…แž‡แžถแž€แžถแžšแž–แžทแžแž‚แžบแžแžถแžœแžถแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹แž แžพแž™แž€แŸ’แž“แžปแž„แž€แžถแžšแž…แŸแž‰แž‘แŸ…แž€แŸ’แžšแŸ…แž แžพแž™แž‚แŸ„แŸ‡แž€แž„แŸ‹ - แž“แŸ„แŸ‡แž‚แžบแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš ะปัŽะฑะพะน แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž

แž‘แžธแž”แŸ†แž•แžปแž แžŸแž แžŸแŸแžœแžทแž€แžขแžถแž˜แŸแžšแžทแž€แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ†แžŸแŸ’แžšแžถแž”แŸ‹แžแŸ‚แžšแž€แžƒแžพแž‰แž˜แžผแž›แž แŸแžแžปแžŠแžพแž˜แŸ”

แž”แžถแž‘ แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž™แžฝแžšแžŠแŸƒแž…แžถแžŸแŸ‹แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ†แž˜แžถแž“แžแžถแž˜แž–แž›แžแŸ’แž›แžถแŸ†แž„แž‡แžถแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แž›แžทแžแž€แž˜แŸ’แž˜แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”

แž˜แŸ’แž…แžถแžŸแŸ‹แž•แŸ’แž‘แŸ‡แžแžปแžŸแž‚แŸ’แž“แžถแž€แŸ’แž“แžปแž„แž”แŸ’แžšแŸแž€แž„แŸ‹!

  • แžแžถแž˜แž€แŸ’แž”แžฝแž“แž“แŸแŸ‡แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแž”แž‰แŸ’แž แžถแž’แŸ†แž‘แŸแŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แŸ– แž“แŸ…แž–แŸแž›แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“ 'แžŠแžพแž˜' แž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแŸแž€แž„แŸ‹ 'แžแžปแžŸแž‚แŸ’แž“แžถ' VMware แžแŸ’แžšแžผแžœแžแŸ‚แž€แŸ‚แžแž˜แŸ’แžšแžผแžœแž›แž‘แŸ’แž’แž•แž› GetTimePrecise แŸ”
  • แžแžถแž˜แž€แŸ’แž”แžฝแž“แž“แŸแŸ‡แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแž”แž‰แŸ’แž แžถแž‘แŸ แž›แžปแŸ‡แžแŸ’แžšแžถแžแŸ‚แž˜แžถแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แžŸแŸ’แž“แžพแžŸแžปแŸ†แž–แŸแž›แžœแŸแž›แžถแž–แžทแžแž”แŸ’แžšแžถแž€แžŠแžšแžถแž”แŸ‹แž›แžถแž“แžŠแž„แž€แŸ’แž“แžปแž„แž˜แžฝแž™แžœแžทแž“แžถแž‘แžธ แžŠแžผแž…แž‡แžถแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ SQL แž‡แžถแžŠแžพแž˜แŸ”
  • แž”แŸ‰แžปแž“แŸ’แžแŸ‚โ€‹แž“แŸแŸ‡โ€‹แž˜แžทแž“โ€‹แž˜แŸ‚แž“โ€‹แž‡แžถโ€‹แžšแžฟแž„โ€‹แž‚แžฝแžšโ€‹แžฑแŸ’แž™โ€‹แžแŸ’แž›แžถแž…โ€‹แž“แŸ„แŸ‡โ€‹แž‘แŸ แž–แŸ’แžšแŸ„แŸ‡โ€‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“โ€‹แž”แž˜แŸ’แžšแžพ SQL แž˜แžทแž“โ€‹แžแŸ‚แž„โ€‹แžแŸ‚โ€‹แž’แŸ’แžœแžพโ€‹แž”แŸ‚แž”โ€‹แž“แŸแŸ‡โ€‹แž‘แŸ (แžŸแžผแž˜โ€‹แž˜แžพแž›โ€‹แžŸแŸแž…แž€แŸ’แžแžธโ€‹แžŸแž“แŸ’แž“แžทแžŠแŸ’แž‹แžถแž“)

แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžถแž“แž€แžšแžŽแžธแž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แžแžปแž„แžšแžฝแž…แž“แŸแŸ‡แž”แŸ‰แŸ‡แžแŸ’แž›แžถแŸ†แž„แŸ” แž”แžถแž‘/แž…แžถแžŸ แžŠแŸ„แž™แž…แžปแž…แž›แžพแž€แž„แŸ‹ (แžŠแŸ„แž™แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžขแŸ’แžœแžธแž˜แžฝแž™แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž€แŸ†แžŽแžแŸ‹ VM) แžแŸ’แž‰แžปแŸ†แž”แžถแž“แž”แž„แŸ’แžแŸ† VMware แžฑแŸ’แž™ 'แž‚แžŽแž“แžถแžกแžพแž„แžœแžทแž‰' แž€แžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ แž แžพแž™แž”แŸ’แžšแŸแž€แž„แŸ‹แž“แŸƒแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž”แžถแž“แž€แŸ’แž›แžถแž™แž‡แžถแž”แŸ’แžšแŸแž€แž„แŸ‹ 'แžŠแžพแž˜' แžšแž”แžŸแŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แŸ”

แž€แžถแžšแžŸแž˜แŸ’แžšแŸแž…แž…แžทแžแŸ’แž

www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf

แž“แŸ…แž–แŸแž›แžขแŸ’แž“แž€แž”แžทแž‘แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แžทแž˜แŸ’แž˜แžทแžแž“แŸƒ TSC แž€แžถแžšแžขแžถแž“ TSC แž–แžธแž€แŸ’แž“แžปแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž แžแŸ’แžšแžกแž”แŸ‹แžแž˜แŸ’แž›แŸƒ TSC แžšแž”แžŸแŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž–แžทแž แž แžพแž™แž€แžถแžšแžŸแžšแžŸแŸแžš TSC แž–แžธแž€แŸ’แž“แžปแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž‚แŸ’แž˜แžถแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แž‘แŸแŸ” แž€แžถแžšแž•แŸ’แž‘แŸแžšแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž•แŸ’แžŸแŸแž„แž‘แŸ€แž แž”แž“แŸ’แžแžœแžถแž–แžธแžŸแŸ’แžแžถแž“แž—แžถแž–แž•แŸ’แžขแžถแž€ แžฌแžแŸ’แžšแž›แž”แŸ‹แž‘แŸ…แžšแžผแž”แžแžแž’แŸ’แžœแžพแžฑแŸ’แž™ TSC แž›แŸ„แžแž˜แžทแž“แžˆแž”แŸ‹แžˆแžšแŸ” แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž—แŸ’แž‰แŸ€แžœแž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž”แžšแžถแž‡แŸแž™แž€แŸ’แž“แžปแž„แž€แžถแžšแž…แžถแž”แŸ‹แž•แŸ’แžŠแžพแž˜ แžฌแž”แž„แŸ’แž แžถแž‰แž”แž‰แŸ’แž แžถแž€แŸ†แžŽแžแŸ‹แž–แŸแž›แžœแŸแž›แžถแž•แŸ’แžŸแŸแž„แž‘แŸ€แž แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž€แžถแžšแž“แžทแž˜แŸ’แž˜แžทแž TSC แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžทแž‘แŸ” แž€แžถแž›แž–แžธแž˜แžปแž“ แž–แŸแž›แžแŸ’แž›แŸ‡แž˜แžปแžแž„แžถแžšแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แžŽแŸ‚แž“แžถแŸ†แžฑแŸ’แž™แž€แŸ‚แž›แž˜แŸ’แžขแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แžขแžถแž“ TSC แž‰แžนแž€แž‰แžถแž”แŸ‹แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžšแž”แžŸแŸ‹ TSC แž“แžทแž˜แŸ’แž˜แžทแžแžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž™แŸ‰แžถแž„แžแŸ’แž›แžถแŸ†แž„แž“แŸ…แž€แŸ’แž“แžปแž„แž•แž›แžทแžแž•แž›แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แŸ” แž˜แžปแžแž„แžถแžšแž“แŸแŸ‡แž€แŸแžแŸ’แžšแžผแžœแž”แžถแž“แžŽแŸ‚แž“แžถแŸ†แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžพแž“แŸ…แž–แŸแž›แž’แŸ’แžœแžพแž€แžถแžšแžœแžถแžŸแŸ‹แžœแŸ‚แž„ แžŠแŸ‚แž›แž‘แžถแž˜แž‘แžถแžšแž”แŸ’แžšแž—แž–แž…แŸ’แž”แžถแžŸแŸ‹แž›แžถแžŸแŸ‹แž“แŸƒแž–แŸแž›แžœแŸแž›แžถแž‡แžถแž€แŸ‹แžŸแŸ’แžแŸ‚แž„แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแŸ”

แž“แžทแž™แžถแž™แžฑแŸ’แž™แžแŸ’แž›แžธแžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž”แž“แŸ’แžแŸ‚แž˜แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžš

monitor_control.virtual_rdtsc = FALSE

แžŸแŸแž…แž€แŸ’แžแžธแžŸแž“แŸ’แž“แžทแžŠแŸ’แž‹แžถแž“

แžขแŸ’แž“แž€แž”แŸ’แžšแž แŸ‚แž›แž‡แžถแž˜แžถแž“แžŸแŸ†แžŽแžฝแžšแž˜แžฝแž™แŸ– แž แŸแžแžปแžขแŸ’แžœแžธแž”แžถแž“แž‡แžถ SQL แž แŸ… GetTimePrecise แž‰แžนแž€แž‰แžถแž”แŸ‹แž˜แŸ’แž›แŸ‰แŸแŸ‡?

แžแŸ’แž‰แžปแŸ†แž˜แžทแž“แž˜แžถแž“แž€แžผแžŠแž”แŸ’แžšแž—แž–แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ SQL แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžแž€แŸ’แž€แžœแžทแž‡แŸ’แž‡แžถแž“แžทแž™แžถแž™แž“แŸแŸ‡แŸ” SQL แž‚แžบแžŸแŸ’แž‘แžพแžšแžแŸ‚แž‡แžถแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž˜แžฝแž™แžŠแŸ‚แž›แž˜แžถแž“แžŸแž แž€แžšแžŽแŸแžŸแŸ’แžšแž”แž‚แŸ’แž“แžถ แžŠแŸ‚แž›แžแŸ’แžŸแŸ‚แž“แžธแž˜แžฝแž™แŸ—แžแŸ’แžšแžผแžœแžแŸ‚ "แž•แŸ’แžแž›แŸ‹แžฑแŸ’แž™" แž–แžธแž–แŸแž›แž˜แžฝแž™แž‘แŸ…แž–แŸแž›แž˜แžฝแž™แŸ” แžแžพแž€แž“แŸ’แž›แŸ‚แž„แžŽแžถแžŠแŸ‚แž›แž›แŸ’แžขแž”แŸ†แž•แžปแžแžŠแžพแž˜แŸ’แž”แžธแž’แŸ’แžœแžพแžšแžฟแž„แž“แŸแŸ‡? แž€แž“แŸ’แž›แŸ‚แž„แžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแžšแž„แŸ‹แž…แžถแŸ†แž’แž˜แŸ’แž˜แž‡แžถแžแžท - แž…แžถแž€แŸ‹แžŸแŸ„แžšแžฌ IO แŸ” แž™แž›แŸ‹แž–แŸ’แžšแž˜ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž…แžปแŸ‡แž™แŸ‰แžถแž„แžŽแžถแž”แžพแž™แžพแž„แž€แŸ†แž–แžปแž„แž”แž„แŸ’แžœแžทแž›แžšแž„แŸ’แžœแžทแž›แž‡แžปแŸ†แž‚แžŽแž“แžถ? แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€ แž€แž“แŸ’แž›แŸ‚แž„แž‡แžถแž€แŸ‹แžŸแŸ’แžแŸ‚แž„ แž“แžทแž„แžŸแŸ’แž‘แžพแžšแžแŸ‚แžแŸ‚แž˜แžฝแž™แž‚แžแŸ‹แž‚แžบแž“แŸ…แž€แŸ’แž“แžปแž„แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚ (แž“แŸแŸ‡แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แž‘แŸ) แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแžŸแŸแž…แž€แŸ’แžแžธแžแŸ’แž›แŸ‚แž„แž”แž“แŸ’แž‘แžถแž”แŸ‹แŸ”

แž‡แžถแž‘แžผแž‘แŸ… แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ SQL แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž€แžถแžแŸ‹แž€แŸ’แžšแž…แž€แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแžŸแžปแž‘แŸ’แž’แž‘แŸ แž แžพแž™แž“แŸแŸ‡แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแž”แž‰แŸ’แž แžถแž‘แŸแŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžšแž„แŸ’แžœแžทแž›แž‡แžปแŸ†แžŠแŸ‚แž›แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แž‚แŸ’แžšแž”แŸ‹แž”แŸ’แžšแž—แŸแž‘แž“แŸƒแžแžถแžšแžถแž„แž”แžŽแŸ’แžแŸ„แŸ‡แžขแžถแžŸแž“แŸ’แž“ (แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž‘แžปแž€แž€แŸ’แž“แžปแž„แžƒแŸ’แž›แžถแŸ†แž„แžŸแž˜แŸ’แž„แžถแžแŸ‹แž—แŸ’แž›แžถแž˜แŸ—) แž”แž„แŸ’แžœแŸ‚แžšแž€แžผแžŠแž‘แŸ…แž‡แžถแž›แŸ†แžŠแžถแž”แŸ‹แž“แŸƒแžŸแŸแž…แž€แŸ’แžแžธแžแŸ’แž›แŸ‚แž„แž€แžถแžšแžŽแŸแžŠแŸ‚แž›แž”แžถแž“แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž™แŸ‰แžถแž„แž†แžถแž”แŸ‹แžšแž แŸแžŸแŸ”

แžŠแŸ„แž™แžœแžทแž’แžธแž“แŸแŸ‡ แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แžšแžปแŸ†แž˜แžปแžแž„แžถแžšแž“แŸ…แž€แŸ’แž“แžปแž„ NATIVELY Compiled แž“แŸ„แŸ‡แžœแžถแž“แžนแž„แžˆแž”แŸ‹แžŸแžฝแžšแžšแž€แž–แŸแž›แžœแŸแž›แžถ แž แžพแž™แž›แŸ’แž”แžฟแž“แžšแž”แžŸแŸ‹แžœแžถแž€แžพแž“แžกแžพแž„ 10 แžŠแž„แŸ” แž…แžปแŸ‡แž€แžทแž…แŸ’แž…แž€แžถแžšแž…แŸ’แžšแžพแž“แžŠแŸ‚แž›แžŸแž แž€แžถแžšแž‚แŸ’แž“แžถแžœแžทแž‰? แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžผแžŠแžŠแŸ‚แž›แž”แžถแž“แž…แž„แž€แŸ’แžšแž„แž–แžธแž€แŸ†แžŽแžพแž แž™แžพแž„แžแŸ’แžšแžผแžœแž’แŸ’แžœแžพ PREEMPTIVE MULTITASKING แž“แŸ…แž€แŸ’แž“แžปแž„ SQL แŸ”

แž”แŸ’แžšแž—แž–: www.habr.com

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹