PostgreSQL কীভাবে শারীরিকভাবে ডিস্কে নতুন রেকর্ডগুলি অর্ডার করে (প্রাথমিক কীতে কোনও ক্লাস্টারের পরে)?


9

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

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

সংক্ষেপে, পোস্টগ্রিএসকিউএল কীভাবে তার নতুন রেকর্ডগুলি অর্ডার করে, বিশেষত ক্লাস্টারিংয়ের পরে?

অনেক ধন্যবাদ!

উত্তর:


9

Postgresql এ থাকা সারিগুলির কোনও নির্দিষ্ট অর্ডার নেই। যেখানে কেবল নিখরচায় স্থান রেকর্ড থাকে সেখানে রেকর্ডগুলি রাখা হয় না কেবল তার চারপাশে স্থানান্তরিত হতে পারে। কারণ সারিটি আপডেট করা হলে সারিটির নতুন সংস্করণটি একটি নতুন স্থানে তৈরি করা হয় যখন পুরানো সংস্করণটি শূন্যস্থান দ্বারা অপসারণ না হওয়া অবধি তার পুরানো জায়গায় বাস করে।

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

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