নেট এর অসংখ্য গাইডে বর্ণিত স্কাইপ বার্তা ইতিহাস সম্পাদনা / মুছতে আমি এসকিউএলটাইম্যান ব্যবহার করছি। আমি main.db
এসকিউএলাইটম্যান ব্যবহার করে আমার প্রোফাইল ফোল্ডারে স্কাইপের ফাইলটি খুলি এবং messages
সারণিতে কয়েকটি রেকর্ড নির্বাচন করে মুছে ফেলি । এসকিউএলাইটম্যান আমাকে নিজে বা এসকিউএল DELETE
স্টেটমেন্ট ব্যবহার করে এটি করার অনুমতি দেয় । পৃষ্ঠে এটি সমস্ত প্রত্যাশার মতো কাজ করে: রেকর্ডগুলি মোছা হয়ে যায় এবং স্কাইপ তার ইতিহাসে মুছে ফেলা বার্তাগুলি আর প্রদর্শন করে না।
তবে, একটি ছোট্ট সমস্যা আছে যা নেট থেকে কোনও স্কাইপ-ইতিহাস-পরিচালনা গাইডগুলিতে আচ্ছাদিত বলে মনে হয় না। রেকর্ডগুলি শারীরিকভাবে মুছে ফেলা হয় না main.db
, বরং "মুছে ফেলা" হিসাবে চিহ্নিত করা হয় (যা অবশ্যই ডাটাবেস পরিচালনার দৃষ্টিকোণ থেকে করা যুক্তিসঙ্গত জিনিস)। main.db
বাইনারি সম্পাদক খোলার মাধ্যমে দেখা যায় যে মোছা রেকর্ডগুলির সামগ্রীগুলি ফাইলে এখনও পুরোপুরি দৃশ্যমান। প্রত্যাশিতভাবে, main.db
আমি কয়টি রেকর্ড মুছলাম তা বিবেচনা না করেই ফাইলের আকার পরিবর্তন হয় না।
এটি অবশ্যই গোপনীয়তা / সুরক্ষা দৃষ্টিকোণ থেকে গ্রহণযোগ্য নয়।
সুতরাং, উপরোক্ত "নরম" মুছে ফেলার পরেও অনাকাঙ্ক্ষিত রেকর্ডগুলির শারীরিক মুছে ফেলার কোনও উপায় আছে কি? শারীরিক এসকিউএল ডাটাবেস ফাইল "কমপ্যাক্ট" করার কোনও উপায় আছে কি? বিকল্পভাবে, এসকিউএল ইঞ্জিনকে "নরম"-মোছা রেকর্ডগুলির সামগ্রীগুলি অপঠনযোগ্য করার জন্য শূন্য-আউট করতে বলার উপায় আছে কি?
UPDATE
বার্তা পাঠ্য কলাম ( body_xml
) করতে পারি । শারীরিকভাবে রেকর্ডগুলি মুছা সম্ভব কিনা তা জানা এখনও আকর্ষণীয় হবে। বা এটি এমন কিছু যা এসকিউএল ডাটাবেস সংস্থার শারীরিক নীতিগুলির বিরুদ্ধে যায়?
NULL
কিছুটা নরম লেবেলিং প্রয়োগ করা হবে বলে মনে হয়। এটি এসকিউএল স্তরে কাজ করে তবে শারীরিক ডাটাবেস ফাইলটি এখনও মূল বার্তার পাঠ্য ধরে রাখে। সুতরাং, গোপনীয়তার জন্য NULL
ডস কাজ করে না। একটি xxxxxx....x
যেমন কিছু ব্যবহার করতে হবে , অর্থাত্ একটি প্যাটার্ন যা পুরো ক্ষেত্রটি ক্লোবার করে।
VACUUM
এসকিউএলাইটের জন্য কমান্ডটি ব্যবহার করতে সক্ষম হতে পারেন ।
UPDATE
এসকিউএল বিবৃতি যা প্রাসঙ্গিক ক্ষেত্রগুলি সেট করেNULL
যা আপনি চান তা করতে পারে।