แแถแแแแแแแทแแแถแแถแแแแแแแแนแแแแแแแแปแแแถแแฎแแธแขแแแแขแแทแแแแแแแแแแแแพแแ แขแแแธโแแแโแแฝแโแฑแแโแ แถแแโแขแถแแแแแแโแแแแปแโแแแโแแบโแแถโแแแโแแถแโแแแแถแโแแ โแแถโแแถแโแแทแโแแแโแแแแพโแฑแแโแแถแโแแถแโแแแพแโแขแแแแแโแแโแแผแแ แแพแแแนแแแทแแถแแขแแแธแแแถแแแธแแแ 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 แฑแแ 'แแแแถแกแพแแแทแ' แแถแแแแแแแแ แแถแแแแแแแแ แ แพแแแแแแแแแแแแแถแแแธแแแ แแ แปแแแแแแแแถแแแแแถแแแถแแแแแแแ 'แแพแ' แแแแแแแถแแแธแแ
แแถแแแแแแแ แ แทแแแ
แแ แแแแขแแแแแทแแแแแพแแแถแแแทแแแแทแแแ 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