ট্রুনক্যাট এবং মুছুন মধ্যে পার্থক্য

Anonim

তথ্য তৈরি এবং ম্যানিপুলেশনটি উপাত্তের ভিত্তিতে গঠন করে এবং আমরা এটি যথাক্রমে DDL এবং DML হিসাবে কল করি। একটি ডিডিএল ডেটা ডেফিনিশন ভাষা এর একটি সংক্ষিপ্ত নাম। এটি ডাটাবেসের মধ্যে ডাটা স্ট্রাকচারগুলি তৈরি বা সংশোধন করতে পারে এবং টেবিলে উপস্থিত ডেটা পরিবর্তন করতে ব্যবহার করা যাবে না। উদাহরণস্বরূপ, আমাদের কাছে এমন কমান্ড আছে যা কেবল নির্দিষ্ট টেবিলের বৈশিষ্ট্যের সাথে একটি সারণি তৈরি করে কিন্তু এটি টেবিলে কোনো সারি যোগ করে না। কিন্তু একটি ডিএমএল, ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ টেবিলের ডাটা যোগ, মোছা বা পরিবর্তন করতে সক্ষম। একটি সাধারণ নিয়ম হিসাবে, ডিডিএল কমান্ডগুলি টেবিলের স্ট্রাকচারগুলির সাথে সংশ্লিষ্ট হয়, তবে ডিএমএল কমান্ড প্রকৃত তথ্যগুলির সাথে সম্পর্কিত। এটা কি হতে পারে, কেন আমরা "ট্রুনাকেট এবং মুছে ফেলুন মধ্যে পার্থক্য" বিষয় থেকে শুধু বিচ্যুত না? আমরা DML এবং DDL সম্পর্কে কথা বলেছি এমন কারণগুলি আছে। আপনি ভবিষ্যতে আসন্ন আলোচনার মধ্যে এটি বুঝতে হবে।

ট্রুনেট কমান্ড কি?

ট্রুনকেটে কমান্ডের উদ্দেশ্য হলো পুরো টেবিলের ডিলিট করা। সুতরাং যখন আপনি একটি Truncate কমান্ড ব্যবহার করেন, তখন আপনি টেবিলের সমস্ত ডেটা হারাবেন এবং আপনার এটি ব্যবহার করে সতর্ক থাকবেন। আসুন আমরা এটি কিভাবে ব্যবহার করব জানি

ট্রাঙ্কেটের সিনট্যাক্স:

ট্র্যাঙ্ক টেবিল টেবিল-নাম ;

এখানে, আপনি টেবিলের নামটি নির্দিষ্ট করা উচিত যা পুরো মুছে ফেলা উচিত। এটি নিশ্চিত করে যে মেমরি স্পেসে কোনও টেবিলের বসা থাকবে। এখানে Truncate ব্যবহার করে একটি উদাহরণ।

নীচে 'কর্মচারী' টেবিল এবং এটিতে ডাটাগুলির সারির দিকে তাকান।

EMP-আইডি EMP-নাম উপাধি
1011 জ্যাক ক্লার্ক
1012 রোজী প্রশাসন
1014 ন্যান্সি > ফাইন্যান্স
এখন, আমাদের কর্মচারী টেবিলে নীচের কমান্ডটি ইস্যু করা যাক।

ট্র্যাঙ্ক টেবিল

কর্মচারী; এখানে উপরে সিনট্যাক্সের ফলাফল এবং এর মধ্যে কোন তথ্য নেই।

emp-id

emp- নাম পদবী কি একটি কমান্ড কমান্ড?

মুছে ফেলার কমান্ডের উদ্দেশ্য হল টেবিলের নির্দিষ্ট সারিগুলি সরিয়ে ফেলা। এখানে, 'কোথায়' উপাদানের জন্য সারি নির্দিষ্ট করতে হবে যা মুছে ফেলা প্রয়োজন। যখন আমরা সারিগুলি নির্দিষ্ট করি না তখন কমান্ড সারণির সমস্ত সারি মুছে ফেলবে। শুধু এটি সিনট্যাক্স তাকান।

কর্মচারী থেকে ডিলিট; উপরে সিনট্যাক্স 'কর্মচারী' টেবিলের সব সারি মুছে ফেলে। সুতরাং ফলস্বরূপ টেবিল কোন তথ্য থাকবে।

কর্মচারী যেখানে emp-id = 1011 মুছে ফেলুন; এই বিবৃতিটি কেবল একটি একক সারি মুছে ফেলে যার EP-id হল 1011। সুতরাং ফলস্বরূপ টেবিলের নীচে হবে।

emp-id

emp-name পদবী 1012
রোজী অ্যাডমিন 1014
ন্যান্সি অর্থ পার্থক্য:

ট্রুনেট একটি ডিডিএল; মুছে ফেলুন একটি ডিএমএল:

  • আমরা উপরোক্ত আলোচনার মধ্যে DDL এবং DML কাজ সম্পর্কে আলোচনা করেছি।Truncate কমান্ডটি একটি DDL এবং এটি ডাটা স্ট্রাকচার স্তরের কাজ করে। কিন্তু মুছুন একটি ডিএমএল কমান্ড এবং এটি টেবিলে ডেটাতে কাজ করে। ডিডিএল এর জন্য অন্যান্য উদাহরণ তৈরি এবং পরিবর্তন করা হয়। একইভাবে, আমরা বলতে পারি যেমন SELECT, UPDATE, এবং REPLACE এর মতো কমান্ডগুলি DML এর জন্য নিখুঁত উদাহরণ। ট্রুনক্যাট এবং মুভ টি কাজ করে কীভাবে:
  • ট্রুনেট কমান্ডটি যত তাড়াতাড়ি আমরা নির্দিষ্ট টেবিলের জন্য দেখি। তারপর এটি সম্পূর্ণরূপে মেমরি থেকে সমস্ত তথ্য মুছে ফেলে কিন্তু মুছে ফেলার ক্ষেত্রে কার্য পদ্ধতি একটু ভিন্ন। এখানে, আসল টেবিলের ডাটাটি প্রকৃত ডাটা ম্যানিপুলেশন করার আগে 'রোল ব্যাক' স্পেস নামে স্পেসে কপি করা হয়। তারপর পরিবর্তনগুলি প্রকৃত টেবিলের ডাটা স্পেসে করা হয়। সুতরাং, উভয়ই তাদের কাজ অনুসারে পথে বিভক্ত। খণ্ড

-> সারণি থেকে সম্পূর্ণ তথ্য সরিয়ে -> টেবিল স্থান এখন মুক্ত। মুছুন

-> মূল সারণির ডাটাটি কপি করা স্পেসের রোল -> নির্দিষ্ট ডাটা / সম্পূর্ণ সারণি মুছুন -> টেবিল স্পেস মুক্ত কিন্তু রোল ব্যাক স্থানটি ভরা হয়। পিছনে ফিরে যান:

  • আমাদের মাইক্রোসফ্ট আনুষাঙ্গিকগুলির একটি আনলক কমান্ডের মত একটি রোল ব্যাক। এটা আমরা সম্প্রতি যে পরিবর্তনগুলি বাতিল করতে ব্যবহার করা হয়েছে। ঙ। শেষ সংরক্ষিত পয়েন্ট থেকে অপারেশন চালানোর জন্য, ডাটাটি রোল ব্যাক স্পেসে কপি করা উচিত যা সম্পাদনা করা হচ্ছে। যদিও এই রোল ব্যাক অতিরিক্ত মেমরি প্রয়োজন, তারা মূল থেকে ফিরে পেতে অত্যন্ত দরকারী। বিশেষ করে, যখন আপনি কিছু ভুল দ্বারা সম্পাদনা! আসুন শুরু করা যাক Rollin সম্পর্কে ফিরে Truncate এবং মুছে দিন আসা ফিরে। আমরা উপরে আলোচনা হিসাবে, Truncate একটি রোল ব্যাক স্থান ব্যবহার করে না এবং আমরা মূল তথ্য ফিরে পেতে পারে না। কিন্তু মুছে ফেলার কমান্ডটি রোল ব্যাক স্পেস ব্যবহার করে এবং আমরা যথোপযুক্তভাবে 'কমিট' বা 'রোলব্যাক' ব্যবহার করতে পারি বা পরিবর্তনগুলি যথোপযুক্তভাবে বাতিল করতে পারি। ট্রিগার:
  • যারা ট্রিগার সম্পর্কে একটি ব্যাখ্যা প্রয়োজন, এখানে একটি ছোট নোট। ট্রিগারগুলি একটি প্রাক-নির্দিষ্ট অপারেশন / অপারেশন যা সক্রিয় করা উচিত যখন টেবিলের একটি বিশেষ শর্ত সম্মুখীন। উদাহরণস্বরূপ, কোম্পানির সাথে একটি কর্মচারীর অভিজ্ঞতা একটি বছরের বেশি সময় যখন আমরা বেতন পরিমাণ পরিবর্তন করতে পারে। এই ট্রিগারগুলি অন্যান্য সারণিতেও কাজ করতে পারে। উদাহরণস্বরূপ, আমরা যত তাড়াতাড়ি বেতন একটি বেতন একটি কর্মচারী জন্য সম্পন্ন করা হয়েছে হিসাবে ফাইন্যান্স টেবিল আপডেট করতে পারে। ট্রাঙ্কেট একটি DDL কমান্ড, ট্রিগার এখানে অনুমোদিত নয়। কিন্তু একটি ডিল একটি ডিএমএল কমান্ড, ট্রিগার এখানে অনুমতি দেওয়া হয়।

কোনটি দ্রুততর?

  • আপনি যেমন অনুমান করেছেন, তেমনি কমান্ডটি মুছে ফেলার কমান্ডের চেয়ে দ্রুততর হবে। প্রাক্তন সমস্ত তথ্য মুছে ফেলতে পারে এবং কোন মিলের শর্তাবলী পরীক্ষা করার প্রয়োজন নেই। এছাড়াও, মূল তথ্য রোলব্যাক স্থান কপি করা হয় না এবং এটি অনেক সময় সঞ্চয়। এই দুইটি কারণগুলি ডিলিটের চেয়ে ত্র " আমরা কোথায় ব্যবহার করতে পারি?
  • 'কোথায়' উপাদানের নির্দিষ্ট মিলন শর্তাবলী নির্দিষ্ট করার জন্য ব্যবহার করা হয় এবং ট্রুনকেটের সাথে কিছুই হয় না। Truncate যে কোন মিলিত অবস্থার জন্য দেখেন না এবং এটি কেবল সমস্ত সারিগুলি সরিয়ে দেয়, আমরা এখানে 'কোথায়' ধারা ব্যবহার করতে পারি না।কিন্তু আমরা সর্বদা মুছে ফেলতে কমান্ডের 'যেখানে' ক্লোনের সাহায্যে শর্তটি নির্দিষ্ট করতে পারি। আরো স্থান দখল করে?
  • ট্রুকেটটি রোলব্যাক স্পেস ব্যবহার করতে যাচ্ছে না এবং এটি ঐ মেমরি সংরক্ষণ করে। কিন্তু মুছে ফেলুন রোলব্যাক স্পেসের আকারে একটি ব্যাকআপ দরকার এবং এর জন্য এটি ট্রুনেটের চেয়ে বেশি মেমরি স্পেস প্রয়োজন। সুতরাং এগুলি পার্থক্য এবং আমাদের একটি ট্যাবুলার ফর্ম তাকান।

s। না

মধ্যে পার্থক্য খণ্ডিত মুছুন 1।
ডিডিএল বা ডিএমএল? এটি একটি ডিডিএল এবং এটি ডাটা স্ট্রাকচার স্তর পরিচালনা করে। ডিডিএল এর জন্য অন্যান্য উদাহরণ তৈরি এবং পরিবর্তন করা হয়। এটি একটি ডিএমএল কমান্ড এবং এটি টেবিলে ডেটা পরিচালনা করে। ডিএমএল ডেটা ম্যানিপুলেশন ল্যাংগুয়েজের জন্য দাঁড়িয়েছে। যেমন SELECT, UPDATE, এবং REPLACE হিসাবে কমান্ডগুলি একটি DML জন্য নিখুঁত উদাহরণ। ডিএমএল ডেটা ম্যানিপুলেশন ল্যাংগুয়েজের জন্য দাঁড়িয়েছে।

2।

এটি কিভাবে কাজ করে? যত তাড়াতাড়ি আমরা Truncate কমান্ডটি ইস্যু করি, এটি শুধুমাত্র নির্দিষ্ট টেবিলের জন্য দেখায়। তারপর এটি সম্পূর্ণরূপে মেমরি থেকে সমস্ত তথ্য মুছে ফেলে এখানে, আসল সারণির তথ্যটি প্রকৃত ডাটা ম্যানিপুলেশন করার আগে 'রোল ব্যাক' স্পেস নামে স্পেসে কপি করা হয়। তারপর পরিবর্তনগুলি প্রকৃত টেবিলের ডাটা স্পেসে করা হয়। 3।
রোলব্যাক ট্রুনকেট কমান্ড কখনো একটি রোল ব্যাক স্পেস ব্যবহার করে না এবং আমরা আসল ডেটাতে ফিরে যেতে পারিনি। একটি রোলব্যাক স্থান একটি একচেটিয়া এক এবং DML কমান্ড জারি করা হয় যখন দখল করা হয়। মুছে ফেলার কমান্ডটি রোল ব্যাক স্পেস ব্যবহার করে এবং আমরা যথোপযুক্তভাবে 'কমিট' বা 'রোলব্যাক' ব্যবহার করতে পারি বা পরিবর্তনগুলি যথোপযুক্তভাবে বাতিল করতে পারি। 4।

ট্রিগার ট্রাঙ্কেট একটি DDL কমান্ড, ট্রিগারগুলি অনুমোদিত নয় মুছুন একটি ডিএমএল কমান্ড, ট্রিগার এখানে অনুমতি দেওয়া হয়। 5।

কোনটি দ্রুততর? এটি সমস্ত ডেটা সরিয়ে ফেলতে পারে এবং কোন মিলের শর্তাবলী পরীক্ষা করার প্রয়োজন নেই। এছাড়াও, মূল তথ্য রোলব্যাক স্থান কপি করা হয় না এবং এটি অনেক সময় সঞ্চয়। এই দুইটি কারণগুলি ডিলিটের চেয়ে ত্র " এটি রোলব্যাক স্পেস ব্যবহার করে এবং সর্বদা মূল তথ্যটি বজায় রাখতে হবে। এটি একটি অতিরিক্ত বোঝা এবং ঘুরে, Truncate তুলনায় অনেক সময় লাগে।

6।
আমরা কোথায় ব্যবহার করতে পারি? ট্রাঙ্কেট হিসাবে যে কোন মিলিত অবস্থার জন্য কখনও দেখেন না এবং এটি কেবল সমস্ত সারিগুলি সরিয়ে দেয়, আমরা এখানে 'কোথায়' ধারা ব্যবহার করতে পারি না কিন্তু আমরা সবসময় মুছে ফেলতে কমান্ডের 'কোথায়' ধারাটির সাহায্যে শর্তটি নির্দিষ্ট করতে পারি 7।
আরো স্থান দখল করে? ট্রুকেটটি রোলব্যাক স্পেস ব্যবহার করতে যাচ্ছে না এবং এটি ঐ মেমরি সংরক্ষণ করে। এটি রোলব্যাক স্পেসের আকারে একটি ব্যাকআপ প্রয়োজন এবং এর ফলে ট্রুনেটের চেয়ে বেশি মেমরি স্পেস প্রয়োজন। যে কোন দুটি সংস্থার মধ্যে পার্থক্য জানতে উভয় জ্ঞানকে প্রশস্ত করে দেয়! আপনি একটি সঠিক পথ আমি অবতরণ করেছে ঙ। ওয়েব পৃষ্ঠায় পার্থক্য বোঝার জন্য, বিশেষ করে, ট্রুনকেটে এবং কমান্ডগুলি মুছে ফেলতে আশা করি আপনি এখন তার পার্থক্যগুলির সাথে স্পষ্ট এবং আপনি যদি তা বুঝতে সক্ষম হোন তবে আমাদের জানান। আপনিও আমাদেরকে নির্দেশ দিয়েছেন যে যা বাকি হয়েছে!