কেন কাটা ডিডিএল?


15

আমার একটি সাক্ষাত্কারের প্রশ্ন রয়েছে, যা আমার সাক্ষাত্কারের সময় জিজ্ঞাসা করা হয়েছিল। আমি প্রশ্নের উত্তর দিয়েছি, কিন্তু সাক্ষাত্কারটি আমার উত্তরটির সাথে এতটা নিশ্চিত ছিল না। সুতরাং, কেউ দয়া করে আমার বোঝার সাথে সংশোধন করবেন?

প্র: ট্রানসেট ডিডিএল কেন ডিলিট হিসাবে ডিএমএল হয়? উভয়ই প্রায় একই কাজ করে (সারি সরিয়ে)

উওর। যখন আমরা ট্র্যাঙ্কেট ব্যবহার করি, আমরা পূর্বাবস্থায় সারণি-স্পেসে সংরক্ষণ না করে ডেটা দ্বারা বরাদ্দকৃত পুরো স্থানটিকে ডি-বরাদ্দ করে দিচ্ছি। তবে, মোছার ক্ষেত্রে, আমরা সমস্ত ডেটা টেবিল-স্পেসে পূর্বাবস্থায় রেখে দিচ্ছি এবং তারপরে আমরা সমস্ত ডেটা মুছে ফেলছি।

দয়া করে, যদি কেউ উপরের জন্য ভাল উত্তর জানে, দয়া করে ব্যাখ্যা করুন।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
পল হোয়াইট 9

উত্তর:


14

ডিএমএল বনাম ডিডিএল পার্থক্য তাদের নাম হিসাবে বোঝা যায় না, তাই কিছু সময় কিছুটা জটিল হয়ে যায়।

ওরাকল স্পষ্টতই ধারণা ধারণাগুলিতে ডিডিএল হিসাবে শ্রেণিবদ্ধ করেTRUNCATE , তবে DELETEডিএমএল হিসাবে।

TRUNCATEওরাকলের উপর ডিডিএল শিবিরের যে মূল বিষয়গুলি আমি রেখেছি তা হ'ল:

  • TRUNCATEস্টোরেজ প্যারামিটারগুলি ( NEXTপ্যারামিটার) পরিবর্তন করতে পারে এবং সেগুলি বস্তুর সংজ্ঞার অংশ - এটি ডিডিএল শিবিরে।
  • TRUNCATEএকটি অন্তর্নিহিত করে commit, এবং ফিরে ঘুরিয়ে ফেলা যাবে না (একপাশে ফ্ল্যাশব্যাক) - ওরাকলে সর্বাধিক (সমস্ত?) ডিডিএল অপারেশন এটি করে, কোনও ডিএমএল করে না।

ট্রিগারগুলি TRUNCATEচালনা করে না এমন ON DELETEঘটনাও এটি সাধারণ ডিএমএল অপারেশনগুলি থেকে আলাদা করে দেয় (তবে কিছু সরাসরি পথ ডিএমএল অপারেশনগুলিও ট্রিগারগুলি এড়িয়ে যায়, এটি কোনও সুস্পষ্ট সূচক নয়)।

সেই একই ডকুমেন্টেশন নোটগুলি যা DELETEইউএনডিও উত্পন্ন করে, তবে TRUNCATEতা নয়, সুতরাং আপনার বক্তব্যটি এই ক্ষেত্রে সঠিক। (দ্রষ্টব্য যা TRUNCATEকিছু উত্পন্ন করে REDOযাতে পুনরুদ্ধার / পুনরুদ্ধারের ক্ষেত্রে কেটে ফেলা যায়)) তবে কিছু NOLOGGINGক্রিয়াকলাপ হ্রাসযুক্ত ইউএনডিওও তৈরি করতে পারে (কারও সম্পর্কে কিছুই নিশ্চিত নয়), সুতরাং এটি আমার মতে কোনও সুস্পষ্ট সূচক নয়।

সুতরাং আমি এটি সংক্ষিপ্ত করব:

  • truncate"লেনদেনিক" এই অর্থে নয় যে এটি প্রতিশ্রুতিবদ্ধ হয় এবং এটি আবার ঘুরিয়ে দেওয়া যায় না এবং অবজেক্ট স্টোরেজ বৈশিষ্ট্যগুলি সংশোধন করতে পারে। সুতরাং এটি সাধারণ ডিএমএল নয় - ওরাকল এটিকে ডিডিএল হিসাবে শ্রেণিবদ্ধ করে।
  • delete এটি একটি সাধারণ ডিএমএল বিবৃতি।

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

নোট করুন যে এসকিউএল স্ট্যান্ডার্ড INSERT, মুছে ফেলুন এবং আপডেটের সাথে "ডেটা ম্যানিপুলেশন" অধ্যায়টিতে ট্র্যাঙ্কেটকে তালিকাবদ্ধ করে।
a_horse_with_no_name

2

আমি মনে করি যে truncateঅনুরূপ drop, alter, createতারা সমস্ত একটি টেবিলের উপর কাজ অর্থাত তারা সব টেবিল স্তর কমান্ড। যদিও 'মুছুন' অনুরূপ insert, select, updateএকটি সারি সব কাজ অর্থাৎ তারা সব সারি স্তর কমান্ড।

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