একই সার্ভারে আমার দুটি এসকিউএল সার্ভার দৃষ্টান্ত রয়েছে:
- মাইক্রোসফ্ট এসকিউএল সার্ভার 2012 (এসপি 1) - 11.0.3000.0 (এক্স 64) স্ট্যান্ডার্ড সংস্করণ (-৪-বিট)
- মাইক্রোসফ্ট এসকিউএল সার্ভার 2016 (এসপি 1-সিইউ 5) (KB4040714) - 13.0.4451.0 (এক্স 64) এন্টারপ্রাইজ সংস্করণ (-৪-বিট)
sp_configure ফলাফল উভয় ক্ষেত্রে একই (নতুন 2016 বিকল্পগুলি বাদে)।
আমি একই ডিস্ক ফোল্ডারে উভয় দৃষ্টিতে নতুন ডাটাবেস তৈরি করেছি। অটোগ্রোথ প্যারামিটারগুলি একই।
স্বতঃবিকাশ এবং স্ব-আপডেট তারিখের বিকল্পগুলি বন্ধ করা আছে।
তারপরে আমি 10000 টি প্রবেশাধিকারী দিয়ে একটি পরীক্ষা করেছি:
set nocount on
go
create table dbo.TestInsert ( i int not null, s varchar(50) not null )
declare @d1 datetime, @d2 datetime, @i int
set @d1 = getdate()
set @i = 1
while @i <= 10000
begin
insert into dbo.TestInsert ( i, s ) select @i, replicate( 'a', 50 )
set @i = @i + 1
end
set @d2 = getdate()
select datediff(ms, @d1, @d2)
drop table dbo.TestInsert
ফলাফল 1
গড় পরীক্ষার সময়
- 2012 - 530 এমএস
- 2016 - 600 এমএস
সুতরাং, ২০১ প্রায় 11% ধীর।
- তারপরে আমি মাইক্রোসেকেন্ডে একক প্রবেশের সময়কাল দেখতে টেবিলে সংরক্ষিত ফলাফলগুলি সহ একটি এসকিউএল প্রোফাইলার ট্রেস তৈরি করেছি।
ফলাফল 2
২০১২ বনাম একটি একক duration োকানোর সময়কালের হিস্টোগ্রাম :
Sys.dm_io_virtual_file_stats থেকে লেনদেন লগের বৃদ্ধি হ'ল:
- 2012 - 5174784 বাইট
- 2016 - 5171200 বাইট
এই পরীক্ষার সময় উভয় দৃষ্টান্ত শুরু হয়। তবে প্রতিবার কেবল একবারে একটি পরীক্ষা চলছে। আমি উদাহরণ হিসাবে 8 জিবি র্যাম বরাদ্দ করেছি। ক্যোয়ারী পরিকল্পনাগুলি একই। প্রতিটি বারের নিজস্ব বাক্সে চালানো আকর্ষণীয় হবে। তবে সম্ভবত একটি মেশিনই ভাল, কারণ এখানে আমাদের কোনও হার্ডওয়্যার এবং পরিবেশগত লুকানো পার্থক্য নেই।
প্রশ্নাবলি
- কেন 2016 ধীর?
- কেউ কি এই পরীক্ষার পুনরুত্পাদন করতে পারে?