এই নিবন্ধটি ব্যাখ্যা করে কিভাবে SQL সার্ভারে সূচী তৈরি, পুনঃনামকরণ এবং মুছে ফেলা যায়।
এসকিউএল সার্ভারে সূচক - সূচক কী?
সূচীকরণ হল রেকর্ডগুলি দ্রুত পুনরুদ্ধারের জন্য ব্যবহৃত পদ্ধতি৷ সূচী প্রতিটি মান নির্দেশ করে যা সূচীকৃত কলামে প্রদর্শিত হয়।
একটি সূচক তৈরি করুন৷
সিনট্যাক্স
<প্রে> তৈরি করুন [অনন্য ] [ CLUSTERED | NONCLUSTERED ] INDEX ten_chimuc
] [ CLUSTERED | NONCLUSTERED ] INDEX ten_chimuc
ON ten_bang ( cot1 [ASC | DESC ], . cot_n [ ASC | DESC ] )
[ INCLUDE ( cot1, . cot_n ) ]
[ WHERE dieu_kien ]
[ WITH ( PAD_INDEX = { ON | OFF }
| FILLFACTOR = fillfactor
| SORT_IN_TEMPDB = { ON | OFF }
| IGNORE_DUP_KEY = { ON | OFF }
| STATISTICS_NORECOMPUTE = { ON | OFF }
| STATISTICS_INCREMENTAL = { ON | OFF }
| DROP_EXISTING = { ON | OFF }
| ONLINE = { ON | OFF }
| ALLOW_ROW_LOCKS = { ON | OFF }
| ALLOW_PAGE_LOCKS = { ON | OFF }
| MAXDOP = so_toida
| DATA_COMPRESSION = { NONE | PAGE | ROW }
[ ON PARTITIONS ( { so | khoang } ]
[ ON scheme_phandoan ( cot )
| ON fnhomtaptin | ON nhomtaptin_macdinh ]
[ FILESTR
EAM_ON {হোমটাপটিন | স্কিম_ফান্ডোআন }; স্কীম_ফান্ডোআন}; অনন্য৷
ঐচ্ছিকভাবে, সূচক কলামে মানগুলির সংমিশ্রণটি অবশ্যই অনন্য হতে হবে তা নির্দেশ করুন৷
clUSTERED৷
ঐচ্ছিকভাবে, যৌক্তিক ক্রম নির্দেশ করুন যা টেবিলের সারিগুলির শারীরিক বিন্যাস নির্ধারণ করে (যেমন সূচীতে ক্ষেত্র অনুসারে সাজানো টেবিলে রেকর্ডের ক্রম)।
NONCLUSTERED৷
ঐচ্ছিকভাবে, যৌক্তিক ক্রম নির্দেশ করুন যা টেবিলের সারিগুলির শারীরিক বিন্যাস নির্ধারণ করে না৷
ten_chimuc৷
আপনি যে সূচী তৈরি করতে চান তার নাম
ten_bang৷
টেবিলের নাম বা ভিউ যেটিতে ইনডেক্স তৈরি করা হয়েছে।
cot1, . cot_n
এর থেকে কলামটি সূচক তৈরি করে৷
ASC |৷ DESC
কলামের মানগুলির জন্য ক্রম সাজান৷
অন্তর্ভুক্ত করুন (cot1, . cot_n)
ঐচ্ছিকভাবে, নন-ক্লাস্টারড সূচকের পাতার স্তরে যোগ করার জন্য কলামটি প্রধান কলাম নয়।
WHERE dieu_kien
ঐচ্ছিক, একটি শর্ত যা সূচীতে কোন সারিটি অন্তর্ভুক্ত করতে হবে তা নির্ধারণ করে৷
ON স্কিম_ফানভুং (খাট)
ঐচ্ছিকভাবে, পার্টিশনের স্থান নির্দেশ করুন যা ফাইল গ্রুপ (ফাইলগ্রুপ) নির্ধারণ করে যেখানে পার্টিশনটি ম্যাপ করা হয়েছে।
ON nhomtaptin৷
ঐচ্ছিকভাবে, নির্দিষ্ট ফাইল গ্রুপে সূচক তৈরি করা হবে কিনা তা নির্দেশ করুন৷
ON nhomtaptin_macdinh
ঐচ্ছিক, ডিফল্ট ফাইল গ্রুপ নির্দেশ করুন৷
FILESTREAM_ON {nhomtaptin | খোংগিনা_ফানভুং খোংগিনা_ফানভুং
ঐচ্ছিকভাবে, ক্লাস্টারড ইনডেক্সের জন্য FILESTREAM ডেটার অবস্থান নির্দেশ করুন৷
SQL সার্ভারে ইন্ডেক্সের উদাহরণ
IND তৈরি করুনEX danhba_chimuc
ON danhba (h
) o);
এই উদাহরণে, আমরা কাশি নামক একটি ক্ষেত্র সহ তালিকায় danhba_chimuc নামে একটি সূচক তৈরি করি। নীচের উদাহরণে দেখানো হিসাবে 1টির বেশি ক্ষেত্রের একটি সূচক তৈরি করা যেতে পারে।
CREATE INDEX danhba_chimuc
ON da
(কাশি, দশ);
এই উদাহরণটি দুটি ক্ষেত্র, কাশি এবং দশ সহ নামের তালিকায় namesba_chimuc-এর তালিকা তৈরি করে৷ যেহেতু প্রতিটি আইটেমের জন্য কোনো ASC বা DESC নির্দিষ্ট করা নেই, তাই ডিফল্ট ক্রমে প্রতিটি ক্ষেত্রের সাথে তৈরি সূচকটি ক্রমবর্ধমান। আপনি যদি নিম্নোক্ত ক্রমে চান, আপনি নিম্নলিখিতগুলি করতে পারেন।
সূচক তালিকার নাম তৈরি করুন
ON danhba (ho DESC, te
n DESC);
উপরের CREATE INDEX কমান্ডটি কেবলমাত্র ব্যবহারকারীর নাম এবং _chimuc তৈরি করে যার প্রথম এবং শেষ নামগুলি নিচের ক্রম অনুসারে সাজানো হয়৷
অনন্য সূচকের উদাহরণ
DEX danhba_chimucduynhat
-এ অনন্য তৈরি করুন
ON danhba (ho, ten);
এই উদাহরণটি নামের তালিকায় danh_chimuc নামে একটি সূচী তৈরি করে যাতে প্রথম এবং শেষ নামগুলি অন্তর্ভুক্ত থাকে এবং এই দুটি ক্ষেত্রের সমন্বয় অনন্য তা নিশ্চিত করে৷ ক্লাস্টারের একটি অনন্য সূচক তৈরি করা সম্ভব যাতে সারণির সারির ভৌত ক্রম সূচির যৌক্তিক ক্রম দ্বারা নির্ধারিত হয়৷
তৈরি করুনE UNIQUE CLUSTERED INDEX danhba_chimucduynhat
ON danh
তিন (হো, দশ);
এই উদাহরণে নতুন তৈরি করা সূচীতে danhba_chimucduynhat নামটি রয়েছে যার মধ্যে দুটি প্রথম এবং শেষ নামের ক্ষেত্র রয়েছে এবং এটি অনুসারে টেবিলের সারিগুলির সাজানোর ক্রমও পরিবর্তন করে৷
এসকিউএল সার্ভারে সূচী পুনঃনামকরণ করুন
সিনট্যাক্স
sp_rename
'tenbang.ten_chi_muc_cu', 'ten_chimuc_moi', 'INDEX';
ten_bang৷
যে টেবিলে সূচী তৈরি করা হয়েছে তার নাম।
ten_chimuc_cu
আপনি যে সূচীর নাম পরিবর্তন করতে চান তার নাম৷
ten_chimuc_moi
সূচির জন্য নতুন নাম৷
৷উদাহরণস্বরূপ
sp_rename
'danhba.danhba_chimuc', 'danhba_chimuc_ten', 'INDEX';
এই উদাহরণটি নাম্বা টেবিলের ইনডেক্সের নাম পরিবর্তন করে danhba_chimuc থেকে listba_chimuc_ten করে।
এসকিউএল সার্ভারে সূচী মুছুন
সিনট্যাক্স
ড্রপ ইনডেক্স tenbang.ten_chimuc;
ten_bang৷
যে টেবিলে সূচী তৈরি করা হয়েছে তার নাম।
ten_chimuc_cu
মুছে ফেলার জন্য সূচির নাম৷
৷উদাহরণস্বরূপ
ড্রপ ইনডেক্স danhba.danhba_chimuc;
এই উদাহরণটি ba_chimuc নামের সূচকটি মুছে দেয়।