এই প্রশ্নটিতে একটি মন্তব্য পড়ে এই প্রশ্নটি উঠে আসে:
আপনি যখন অনেকগুলি টেবিল তৈরি করেন, আপনি কি দুটি বিদেশী কী কলামগুলিতে একটি যৌগিক প্রাথমিক কী তৈরি করতে পারেন, বা একটি স্বয়ং-বর্ধিত সার্জিট "আইডি" প্রাথমিক কী তৈরি করতে হবে এবং কেবল আপনার দুটি এফকে কলামে সূচি স্থাপন করা (এবং সম্ভবত একটি অনন্য বাধা)? প্রতিটি ক্ষেত্রে নতুন রেকর্ড সন্নিবেশ / পুনরায় সূচীকরণের জন্য পারফরম্যান্সের কী কী প্রভাব পড়বে?
মূলত: এটি:
PartDevice
----------
PartID (PK/FK)
DeviceID (PK/FK)
বনাম এটি:
PartDevice
----------
ID (PK/auto-increment)
PartID (FK)
DeviceID (FK)
মন্তব্যকারী বলেছেন:
দুটি আইডি তৈরি করে পিকে অর্থ হ'ল টেবিলটি সেই ক্রমে ডিস্কে শারীরিকভাবে সাজানো হয়। সুতরাং আমরা যদি (পার্ট 1 / ডিভাইস 1), (পার্ট 1 / ডিভাইস 2), (পার্ট 2 / ডিভাইস 3) সন্নিবেশ করি, তবে (পার্ট 1 / ডিভাইস 3) ডাটাবেসটিকে টেবিলটি আলাদা করে 2 এবং 3 এন্ট্রিগুলির মধ্যে শেষটি সন্নিবেশ করতে হবে For অনেকগুলি রেকর্ড, এটি খুব সমস্যাযুক্ত হয়ে ওঠে কারণ এতে প্রতিবার যুক্ত হওয়ার সাথে সাথে কয়েক হাজার, হাজার বা কয়েক মিলিয়ন রেকর্ড পরিবর্তন করা হয়। বিপরীতে, একটি স্বয়ংসোধক পিকে নতুন রেকর্ডগুলি শেষ পর্যন্ত মোকাবেলা করার অনুমতি দেয়।
আমি জিজ্ঞাসা করার কারণটি হ'ল কারণ আমি সর্বদা কোনও সরোগেট অটো-ইনক্রিমেন্ট কলাম সহ যৌগিক প্রাথমিক কী করতে আগ্রহী ছিলাম, তবে আমি নিশ্চিত নই যে সরোগেট কী আসলে আরও পারফরম্যান্ট কিনা।