ডাটাবেস সাধারণকরণের পরে আপনার কি এখনও ইনডেক্সিং দরকার?


14

আপনি একটি ভাল স্বাভাবিককরণের পরে, আপনি এখনও টেবিল সূচী প্রয়োজন? এটি কীভাবে পারফরম্যান্সকে প্রভাবিত করবে? এটি এমনকি ভাল স্বাভাবিককরণের পরে কোনওভাবে পারফরম্যান্সকেও প্রভাবিত করবে?

আপনার যদি ইতিমধ্যে প্রাথমিক কী এবং বিদেশী কী থাকে তবে সাধারণত কোন কলামগুলি সূচিযুক্ত হয়?

দেখে মনে হচ্ছে এটি কোনও ডাটাবেসকে স্বাভাবিক করার জন্য ইতিমধ্যে কার্যকর। তবে, আমি কীভাবে সূচকগুলি ডেটাবেসকে প্রভাবিত করে তা এড়িয়ে যেতে পারি। যখন অনুসন্ধানগুলি ব্যবহৃত হয় তখনই এটি কার্যকর হয়? এই কাজটি কীভাবে সম্পাদন করে এবং একটি ডেটাবেসকে আরও ভাল করে তোলে?


5
আপনার যদি ইতিমধ্যে প্রাথমিক কী এবং বিদেশী কী থাকে তবে সাধারণত কোন কলামগুলি সূচিযুক্ত হয়? তারিখ। নাম থাকবে না। আপনার অনুসন্ধান বা বাছাই করতে পারে এমন যে কোনও কিছু প্রয়োজন।
কারসন 63000 22

প্রাথমিক কী সূচক গণনা করে না?
কোডসইনচওস

উত্তর:


34

হ্যাঁ. আসলে, আপনাকে খুব ভালভাবে আপনার সূচকে আরও মনোযোগ দেওয়ার প্রয়োজন হতে পারে। সাধারণীকরণ অনুকূল স্টোরেজ সম্পর্কে । জটিল প্রায়শগুলিতে আরও জটিল প্রশ্ন ব্যবহৃত হয় বলে এটি প্রায়শই পুনরুদ্ধারের গতির সাথে মতবিরোধে থাকে । কখনও কখনও লোকেরা দ্রুত পুনরুদ্ধারের গতির প্রয়োজন এমন ডাটাবেসগুলি রক্ষণাবেক্ষণকে অ-স্বাভাবিকীকরণ করে, বা পুনরুদ্ধারটিকে আরও সহজ করার জন্য কিছুটা কম স্বাভাবিকীকরণ কাঠামোর মধ্যে তাদের ডেটা সাজিয়ে তোলে।


21
সাধারণকরণের লক্ষ্য হ'ল স্টোরেজ দক্ষতা নয়, বরং সন্নিবেশ, আপডেট এবং মোছার নির্ভরতা অপসারণ করা। আরও পঠন

4
আমি @ মিশেলটির সাথে একমত যে এটি দক্ষতার বিষয়ে নয়। যৌক্তিক ধারাবাহিকতাটি আমি লিঙ্কটি থেকে বেরিয়ে এসেছি।
জেফো

আমি বিতর্কিত শব্দটি 'দক্ষতা' মুছে ফেলব (যদিও আমি মনে করি যে এটি মূলত সাধারণীকরণের সাধারণ উদ্দেশ্যটির যোগফল দেয়) এবং কেবল তার পরিবর্তে 'অনুকূল' শব্দটি ব্যবহার করব, যার অর্থ কী তা পাঠকের উপর নির্ভর করে। সাধারণকরণের আসল উদ্দেশ্য প্রকৃতপক্ষে প্রাসঙ্গিক নয় কেন একটি ডাটাবেসকে স্বাভাবিক করার পরে কেন সূচকের প্রয়োজন হয়।
গ্র্যান্ডমাস্টারবি

56

আমার মনে হয় আপনি ডাটাবেসের কর্মক্ষমতা জন্য ইনডেক্সিং কী করে ভুল বুঝেছেন।

একটি সূচক ডাটাবেসের সাহায্য করে খোঁজ সারি। সূচিগুলি হ'ল ডেটা স্ট্রাকচার যা অতিরিক্ত ডিস্ক-স্পেস এবং সন্নিবেশ করানো এবং আপডেট করার সময় কিছু কার্য সম্পাদনের বিনিময়ে, ডাটাবেস ইঞ্জিনকে সারিগুলির সাথে মিলিয়ে ঘরে সহায়তা করে।

এগুলি আপ টু ডেট রাখার জন্য তারা অতিরিক্ত জায়গা এবং ব্যয় (একটি মডিকাম) সম্পাদন করে, তাই আপনার ডাটাবেস ডিজাইনার হিসাবে আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশন এবং ক্যোয়ারী ধরণের অনুসারে সূচি তৈরি করতে হবে।

সূচকগুলি ডাটাবেস নরমালাইজেশন এর অরথোগোনাল।


4

হ্যাঁ স্বাভাবিককরণের পরেও আপনার প্রয়োজন অনুসারে প্রয়োজন।

আপনি যে টেবিলগুলি বেনিফিটের সাথে কাজ করছেন ঠিক তেমনই সাধারণ হওয়ার আগে আপনি যে টেবিলগুলি রেখেছিলেন। বাস্তবে, তাদের নিজেরাই তারা একই: টেবিল।

যদিও আপনাকে একটি বিষয় বিবেচনা করতে হবে, সূচিগুলি আপনাকে আপনার ডেটার মাধ্যমে দ্রুত খুঁজে পেতে সহায়তা করে। একটি ডাটাবেসের নকশা সাধারণকরণ সর্বদা ভাল, তবে কখনও কখনও কার্য সম্পাদনের কারণে আপনাকে বাস্তবায়নটিকে অস্বীকৃতি জানাতে হয়। তবে কেবলমাত্র মামলা ভিত্তিতে এটি একটি মামলা on


2

হ্যাঁ.

সূচকগুলি ডেটা অনুসন্ধানের গতি বাড়ানোর একটি পদ্ধতি। কিছু প্রশ্নগুলি প্রাথমিক কী দ্বারা হয়, যা সাধারণত ডাটাবেস ইঞ্জিন দ্বারা স্পষ্টভাবে সূচকযুক্ত হয়, তবে অন্যান্য অনুসন্ধানগুলি অন্যান্য কলামগুলি ব্যবহার করতে পারে। প্রায়শই কিছু প্রশ্নগুলি কলামগুলি সন্ধান করে যা এমনকি অনন্য নয় এবং এইভাবে কোনও সাধারণীকরণের পরে প্রাথমিক কী হয়ে উঠতে পারে না। আপনাকে সম্ভবত এই জাতীয় কলাম সূচী করতে হবে।

কোন সূচকগুলি তৈরি করতে হবে তা জানার একমাত্র উপায়। অ্যাপ্লিকেশনটিতে সমস্ত প্রশ্ন নিন, তাদের জন্য প্রতিনিধি উদাহরণ পরামিতিগুলি সন্ধান করুন এবং ডাটাবেস ইঞ্জিনটি তাদের ক্যোয়ারী পরিকল্পনাগুলি দেখান (সমস্ত ডেটাবেস ইঞ্জিনগুলি EXPLAIN, EXPLAIN QUERY PLANবা অনুরূপ কমান্ড; এটি বিভিন্ন ইঞ্জিনে আলাদাভাবে বলা হয়) এবং কতক্ষণ সময় নেয় সেগুলি পরীক্ষা করুন। ধীরে ধীরে ধীরে ধীরে গতি বাড়িয়ে তুলতে সূচকগুলি তৈরি করা Than এবং আপনি যে সূচকগুলি চেষ্টা করেছেন তা আবার বাদ দিতে ভুলবেন না তবে সংস্থানগুলি নষ্ট করতে এড়াতে সহায়তা করেননি।


1

সবচেয়ে ছোট টেবিল ব্যতীত সকল সূচকে সাধারণত প্রয়োজন হয়। খুব সুন্দর প্রতিটি বিদেশী কী সূচিযুক্ত হওয়া উচিত এবং কেবল এফকে স্থাপনের অর্থ এই নয় যে আপনার একটি সূচক রয়েছে (কমপক্ষে কিছু ডাটাবেসে নয়, আপনাকে ডিবির ডকুমেন্টেশন পরীক্ষা করুন)। আপনি যে ক্ষেত্রগুলি ঘন ঘন যোগদান করেন বা ব্যবহার করেন যেখানে ক্লজগুলি সূচকযুক্ত করা উচিত যদি সেগুলি উপকার হয় তবে (আপনার উদাহরণে নির্দিষ্ট পরিমাণে বৈচিত্র্যের প্রয়োজন বুলিয়ানরা উদাহরণস্বরূপ উপকৃত হয় না) এবং যেখানে সূচীকরণ সম্ভব ones

যাইহোক, প্রতিটি সূচক নির্বাচনের গতি বাড়ানোর সময় সন্নিবেশকরণগুলি \ আপডেটগুলি \ মুছুন s

সূচকগুলি একটি ডেটাবেজে গ্রহণযোগ্য পারফরম্যান্সের জন্য গুরুত্বপূর্ণ।


0

তৃতীয় স্বাভাবিক ফর্মের জন্য আপনার অবশ্যই সমস্ত প্রাথমিক কীতে সূচি প্রয়োজন।

আপনার অন্য কোনও সূচকের প্রয়োজন কিনা তা নির্ভর করে আপনার ডাটাবেস কীভাবে ব্যবহৃত হয় তার উপর। উদাহরণস্বরূপ যদি আপনি নিয়মিত কোনও নির্দিষ্ট জিপ কোডে গ্রাহকদের জন্য অনুসন্ধান করেন তবে গ্রাহক সারণীতে জিপ_কোড কলামটি সূচী করা ভাল ধারণা হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.