আমি 8 গিগাবাইট র্যাম হাইপার-ভি বাক্সে এসকিউএল সার্ভার 2012 এ একটি দ্রুত পরীক্ষা চালিয়েছি। আপনি নিজের জন্য ফলাফল দেখতে পারেন। এই পরীক্ষাগুলি চালানোর সময় আমি এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও বাদে অন্য কোনও উইন্ডোযুক্ত অ্যাপ্লিকেশন চালাচ্ছিলাম না।
আমার টেবিল স্কিমা:
CREATE TABLE [dbo].[employee](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_employee] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Employee
সারণীতে রেকর্ডের মোট সংখ্যা : 178090131 (178 মিলিয়ন ডলার সারি)
প্রথম প্রশ্ন:
Set Statistics Time On
Go
Select Count(*) From Employee
Go
Set Statistics Time Off
Go
প্রথম প্রশ্নের ফলাফল:
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 35 ms.
(1 row(s) affected)
SQL Server Execution Times:
CPU time = 10766 ms, elapsed time = 70265 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
দ্বিতীয় প্রশ্ন:
Set Statistics Time On
Go
Select Count(1) From Employee
Go
Set Statistics Time Off
Go
দ্বিতীয় প্রশ্নের ফলাফল:
SQL Server parse and compile time:
CPU time = 14 ms, elapsed time = 14 ms.
(1 row(s) affected)
SQL Server Execution Times:
CPU time = 11031 ms, elapsed time = 70182 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
আপনি দেখতে পাচ্ছেন 83 (= 70265 - 70182) মিলিসেকেন্ডের পার্থক্য রয়েছে যা সহজেই সময় অনুসন্ধানের সময় সঠিক সিস্টেমের শর্তে দায়ী করা যেতে পারে। এছাড়াও আমি একটি রান করেছি, তাই আমি যদি বেশ কয়েকটি রান করি এবং কিছু গড় গড় করি তবে এই পার্থক্যটি আরও সঠিক হয়ে উঠবে। যদি এত বড় ডেটা-সেট করার জন্য পার্থক্যটি 100 মিলিসেকেন্ডের চেয়ে কম আসে তবে আমরা সহজেই উপসংহারে পৌঁছাতে পারি যে দুটি প্রশ্নের জন্য এসকিউএল সার্ভার ইঞ্জিন দ্বারা প্রদর্শিত পারফরম্যান্সের পার্থক্য নেই।
দ্রষ্টব্য : র্যাম উভয় রানেই 100% ব্যবহারের কাছাকাছি চলেছে। দুটি রান শুরু করার আগেই আমি এসকিউএল সার্ভার পরিষেবা পুনরায় চালু করেছি।