প্রচুর সারি মুছে ফেলার পরে কি আমার একটি টেবিল রিইন্ডেক্স এবং ভ্যাকিউম করা দরকার?


10

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

কয়েক মিলিয়ন সারি মুছে ফেলা হতে পারে এবং আমরা মুছে ফেলার পরে প্রতিবার একটি রিইন্ডেক্স চালিয়ে যাচ্ছি।

এটি কি যথেষ্ট, না আমাদেরও কি ভ্যাকুয়াম বা ভ্যাকুয়াম বিশ্লেষণ চালানো উচিত? বা রিইন্ডেক্স প্রয়োজন হয় না এবং এর পরিবর্তে আমাদের কেবল একটি ভ্যাকিউম বা ভ্যাকুয়াম বিশ্লেষণ চালানো উচিত ?

আমরা পোস্টগ্রিজ এসকিউএল 8.2.3 ব্যবহার করছি, যা আমার বিশ্বাস অটো-শূন্যকরণের অনুমতি দেয় না।


2
আপনি বিভাজন বিবেচনা করতে চাইতে পারেন, postgresql.org/docs/9.0/static/ddl-partitioning.html দেখুন ; তারপরে আপনি কেবল পার্টিশন ফেলে দিতে পারেন এবং ভ্যাকুয়ামিং এড়াতে পারেন।
অ্যালেক্স

3
সংস্করণ 8.2.3 এ অটো_ভ্যাকুয়াম রয়েছে, ম্যানুয়ালটি দেখুন, তবে আপনাকে তাত্পর্যপূর্ণ আপডেট করা উচিত। বর্তমান 8.2- সংস্করণটি 8.2.17। বেশ কয়েকটি সুরক্ষা প্যাচ সহ আপনি 14 টি প্যাচ পিছনে রয়েছেন। 8.4 বা 9.0 এ আপগ্রেড করা আরও ভাল ধারণা, অটো_ভ্যাকুয়াম উন্নত হয়েছে।
ফ্রাঙ্ক হিকেন্স

উত্তর:


13

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

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

8.2 এর জন্য প্রাসঙ্গিক ডকুমেন্টেশন পৃষ্ঠাগুলি এখানে (রুটিন রি-ইনডেক্স) এবং এখানে (রুটিন ভ্যাকুয়ামিং) রয়েছে

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