যদিও আমি একমত নই যে বিএলএবগুলি কেবল অন্য টেবিলে থাকা উচিত - সেগুলি ডেটাবেজে মোটেই উচিত নয় । ফাইলটি যেখানে ডিস্কে থাকে সেদিকে একটি পয়েন্টার সঞ্চয় করুন এবং তারপরে কেবল এটি ডাটাবেস থেকে পান ...
তারা যে প্রাথমিক সমস্যাটি সৃষ্টি করেছে (তা আমার জন্য) তা সূচকের সাথে। কোয়েরি প্ল্যান সহ এক্সএমএল ব্যবহার করা, কারণ প্রত্যেকেরই কাজ এখন, একটি টেবিল তৈরি করা যাক:
SELECT TOP 1000
ID = IDENTITY(INT,1,1),
deq.query_plan
INTO dbo.index_test
FROM sys.dm_exec_cached_plans AS dec
CROSS APPLY sys.dm_exec_query_plan(dec.plan_handle) AS deq
ALTER TABLE dbo.index_test ADD CONSTRAINT pk_id PRIMARY KEY CLUSTERED (ID)
এটি কেবল 1000 সারি, তবে আকারটি পরীক্ষা করছে ...
sp_BlitzIndex @DatabaseName = 'StackOverflow', @SchemaName = 'dbo', @TableName = 'index_test'
এটি মাত্র 1000 সারিগুলির জন্য 40 এমবি এর বেশি। ধরে নিই যে আপনি প্রতি 1000 টি সারিতে 40 এমবি যুক্ত করেছেন, এটি বেশ কুৎসিত দ্রুত পেতে পারে। আপনি যখন 1 মিলিয়ন সারিগুলিতে আঘাত করবেন তখন কি হবে? এটি সেখানে প্রায় 1 টিবি ডেটা।
আপনার ক্লাস্টারড সূচকটি ব্যবহার করার জন্য যে কোনও প্রশ্নের এখনই সেই সমস্ত বিএলএলওবা তথ্য মেমরির স্পষ্টির মধ্যে পড়তে হবে : যখন বিএলওবি ডেটা কলামটি রেফারেন্স করা হয়।
আপনি কি এসএকিউএল সার্ভার মেমোরি ব্যবহারের জন্য বিএলএলওগুলি সংরক্ষণ করার চেয়ে ভাল উপায়ের কথা ভাবতে পারেন? কারণ আমি নিশ্চিত।
এটি অবিচ্ছিন্ন সূচকে প্রসারিত করা:
CREATE INDEX ix_noblob ON dbo.index_test (ID)
CREATE INDEX ix_returnoftheblob ON dbo.index_test (ID) INCLUDE (query_plan)
বিএলওবি কলাম এড়াতে আপনি আপনার অবিচ্ছিন্ন সূচকগুলি ডিজাইন করতে পারেন যাতে নিয়মিত প্রশ্নগুলি ক্লাস্টারড সূচক এড়াতে পারে, তবে আপনার এই বিএলওবি কলামের সাথে সাথে আপনার ক্লাস্টারড সূচীটি প্রয়োজন।
আপনি যদি INCLUDED
কোনও মূল অনুসন্ধানের দৃশ্যটি এড়ানোর জন্য একটি অবিচ্ছিন্ন সূচকে কলাম হিসাবে যুক্ত করেন তবে আপনি বিশালাকার ননক্র্লাস্টারড সূচকগুলি সহ শেষ করবেন:
তাদের সৃষ্ট আরও সমস্যা:
- যদি কেউ কোনও
SELECT *
ক্যোয়ারী চালায় তবে তারা সেই সমস্ত বিএলওবি ডেটা পাবেন।
- তারা ব্যাকআপগুলিতে স্থান নেয় এবং পুনরুদ্ধার করে, তাদের ধীর করে দেয়
- তারা ধীরে ধীরে
DBCC CHECKDB
, কারণ আমি জানি আপনি দুর্নীতির জন্য যাচাই করছেন, তাই না?
- এবং যদি আপনি কোনও সূচক রক্ষণাবেক্ষণ করেন তবে তারা এটিকেও ধীর করে দেয়।
আশাকরি এটা সাহায্য করবে!