কম্পিউটার টিউটোরিয়াল

এসকিউএল সার্ভারে সূচক

এই নিবন্ধটি ব্যাখ্যা করে কিভাবে 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টির বেশি ক্ষেত্রের একটি সূচক তৈরি করা যেতে পারে।

 C REATE 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 নামের সূচকটি মুছে দেয়।


  1. SQL সার্ভারে UPPER ফাংশন

  2. SQL সার্ভারে SUBSTRING ফাংশন

  3. SQL সার্ভারে প্রসিডিউর (প্রক্রিয়া)

  4. MS SQL সার্ভার কি?