ট্র্যাকসেট এবং এসকিউএল মোছার মধ্যে পার্থক্য কী


302

এসকিউএল TRUNCATEএবং এর মধ্যে পার্থক্য কী DELETE?

যদি আপনার উত্তর প্ল্যাটফর্ম নির্দিষ্ট, দয়া করে এটি নির্দেশ করুন।


4
সমস্ত উত্তর প্ল্যাটফর্ম নির্দিষ্ট। স্ট্যান্ডার্ড এসকিউএলে কোনও ট্রানসেট কমান্ড নেই। সুতরাং এটি স্বত্বাধিকারী বৈশিষ্ট্য এবং প্রতিটি ডিবিএমএস বিক্রেতার কাছে আলাদা জিনিস।
এনভোভেল

উত্তরটি খুব বাস্তবায়ন নির্দিষ্ট, যেমন এটি হতেই পারে, যেহেতু স্ক্ল্যাভোভেল দেখিয়েছে, এটি একটি মানহীন কমান্ড (ট্রানসেট)। হয় এই ট্যাগটিকে 'ওরাকল' ছেড়ে দিন বা আসুন এটি একটি সম্প্রদায়ের-উইকি শৈলীর উত্তর হিসাবে তৈরি করা যাক এবং প্রতিটি বড় আরডিবিএমএস (ওরাকল, এমএস-এমএসকিউএল, পোস্টগ্র্যাসকিউএল সমস্ত
ট্রুনকেট

যদি লেনদেন হয়ে যায়, যার অর্থ COMMITED, তবে আমরা TRUNCATE কমান্ডটি রোলব্যাক করতে পারি না, তবে আমরা এখনও LOG ফাইলগুলি থেকে ডিলিট কমান্ডটি রোলব্যাক করতে পারি, কারণ ভবিষ্যতে LOG ফাইলগুলি থেকে রোলব্যাকের প্রয়োজন হলে ডিলেটটি লগ ফাইলটিতে রেকর্ড করে।

উত্তর:


272

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


সাধারণ ওভারভিউ

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

নীচে বিস্তারিত হিসাবে সিস্টেম-নির্দিষ্ট বিভিন্ন বিষয় বিবেচনা করতে হবে।


বিবৃতি প্রকার

মুছুন হ'ল ডিএমএল, ট্র্যাঙ্কেট হ'ল ডিডিএল ( ডিডিএল এবং ডিএমএল কী? )


কমিট এবং রোলব্যাক

বিক্রেতার দ্বারা পরিবর্তনশীল

SQL সার্ভার

ছাঁটাই ফিরে ঘূর্ণিত করা যেতে পারে।

পোস্টগ্রি

ছাঁটাই ফিরে ঘূর্ণিত করা যেতে পারে।

আকাশবাণী

যেহেতু একটি ট্রানসেটটি ডিডিএল হয় এটিতে দুটি প্রতিশ্রুতি জড়িত, একটির আগে এবং পরে বিবৃতি কার্যকর করার পরে। সুতরাং কাটা কাটা পিছনে ফেলা যাবে না এবং কাটা কাটা প্রক্রিয়া ব্যর্থতা যাই হোক না কেন একটি প্রতিশ্রুতি জারি করেছে।

তবে নীচে ফ্ল্যাশব্যাক দেখুন।


স্থান পুনরুদ্ধার

মুছুন স্থান পুনরুদ্ধার করে না, কাটা স্থান পুনরুদ্ধার করে

আকাশবাণী

আপনি যদি রিসোর্স স্টোরজ ক্লজটি ব্যবহার করেন তবে ডেটা বিভাগগুলি ডি-বরাদ্দ করা হয় না, যা যদি টেবিলটি ডেটা দিয়ে পুনরায় লোড করা হয় তবে প্রান্তিকভাবে আরও দক্ষ হতে পারে। উচ্চ জল চিহ্ন পুনরায় সেট করা হয়।


সারি সুযোগ

মুছে ফেলা সমস্ত সারি সরানোর জন্য বা কেবলমাত্র সারিগুলির উপসেট ব্যবহার করা যেতে পারে। কাটা সমস্ত সারি সরান।

আকাশবাণী

যখন কোনও টেবিলটি বিভাজন করা হয়, পৃথক পার্টিশনগুলি বিচ্ছিন্নভাবে কাটা যায়, সুতরাং সমস্ত টেবিলের ডেটা আংশিক অপসারণ সম্ভব।


অবজেক্টের ধরণ

মুছুন কোনও ক্লাস্টারের অভ্যন্তরে টেবিল এবং টেবিলগুলিতে প্রয়োগ করা যেতে পারে। কেটে নেওয়া কেবল টেবিল বা পুরো ক্লাস্টারে প্রয়োগ হয়। (ওরাকল নির্দিষ্ট হতে পারে)


ডেটা অবজেক্ট আইডেন্টিটি

আকাশবাণী

মুছুন ডেটা অবজেক্ট আইডিকে প্রভাবিত করে না, তবে ছাঁটাই একটি নতুন ডেটা অবজেক্ট আইডি বরাদ্দ করে যদি না সারণীর তৈরির পরে আর কখনও সন্নিবেশ না করা হয় এমনকি এমন একক সন্নিবেশ যা আবার ঘূর্ণায়মান হয় তা কোনও নতুন ডেটা অবজেক্ট আইডি কে কাটাবার পরে নিযুক্ত করে ।


ফ্ল্যাশব্যাক (ওরাকল)

ফ্ল্যাশব্যাক মুছে ফেলা জুড়ে কাজ করে, কিন্তু একটি ছাঁটাই অপারেশন করার আগে রাজ্যে ফ্ল্যাশব্যাককে বাধা দেয়।

তবে, 11 জিআর 2 থেকে এক্সপ্লোর পরিচালনা সংস্করণ ব্যতীত ফ্ল্যাশব্যাক আর্কাইভ বৈশিষ্ট্যটি এটিকে অনুমতি দেয়

ওরাকলে http://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_flashback.htm#ADFNS638 এ FLASHBACK এর ব্যবহার


বিশেষাধিকার

পরিবর্তনশীল

আকাশবাণী

মুছুন অন্য কোনও ব্যবহারকারীর বা ভূমিকার জন্য কোনও টেবিলে মঞ্জুরি দেওয়া যেতে পারে, তবে কোনও টেবিল অনুদান ব্যবহার করে ড্রপ করা যাবে না।


পুনরায় করুন / পূর্বাবস্থায় ফিরুন

মুছুন অল্প পরিমাণে পুনরায় এবং প্রচুর পরিমাণে পূর্বাবস্থা তৈরি করে। কেটে নেওয়া প্রতিটি একটি নগন্য পরিমাণ উত্পাদন করে।


ইনডেক্সে

আকাশবাণী

একটি কাটা ক্রিয়া অপ্রয়োজনীয় সূচকগুলি আবার ব্যবহারযোগ্য nd মুছুন না।


বিদেশী কী

যখন একটি সক্ষম বিদেশী কী টেবিলটিকে উল্লেখ করে তখন একটি ছাঁটাই প্রয়োগ করা যাবে না। মুছে ফেলা সহ চিকিত্সা বিদেশী কীগুলির কনফিগারেশনের উপর নির্ভর করে।


টেবিল লকিং

আকাশবাণী

কাটা কাটা জন্য একটি একচেটিয়া টেবিল লক প্রয়োজন, মোছার জন্য একটি ভাগ করা টেবিল লক প্রয়োজন। সুতরাং টেবিলের লকগুলি অক্ষম করা কোনও টেবিলের উপর কাটা কাটা কার্যক্রম রোধ করার একটি উপায়।


ট্রিগারসমূহ

ডিএমএল ট্রিগারগুলি একটি কাটা কাটাতে গুলি চালায় না।

আকাশবাণী

ডিডিএল ট্রিগারগুলি উপলব্ধ।


রিমোট এক্সিকিউশন

আকাশবাণী

একটি ডেটাবেস লিঙ্কের মাধ্যমে কাটা কাটা জারি করা যায় না।


সনাক্তকরণ কলাম

SQL সার্ভার

ছাঁটাই আইডেন্টিটি কলামের ধরণের ক্রম পুনরায় সেট করে, মোছা না।


ফলাফল সেট

বেশিরভাগ বাস্তবায়নে, একটি DELETEবিবৃতি ক্লায়েন্টকে সরিয়ে দেওয়া সারিগুলিতে ফিরে আসতে পারে।

যেমন একটি ওরাকল পিএল / এসকিউএল সাবপ্রোগ্রামে আপনি করতে পারেন:

DELETE FROM employees_temp
WHERE       employee_id = 299 
RETURNING   first_name,
            last_name
INTO        emp_first_name,
            emp_last_name;

আপনার চতুর্থ বিবৃতিটি বুঝবেন না: আমি যদি বলি টেবিল থেকে [ ] মুছে ফেলুন; তারপরে * কোনও এফকে এটি বন্ধ না করে that টেবিলের সমস্ত সারি মুছে ফেলা হবে। যাইহোক, আমি অনুমান করি এটি এসকিউএল সার্ভার-নির্দিষ্ট, আপনি এফকে সহ টেবিলগুলিতে ট্রানসেট ব্যবহার করতে পারবেন না।
জো পাইনেদা

আরও কিছু মন্তব্য: এটি আপনার তৃতীয় বক্তব্যের সাথে একমত নই, যদি না এটি ওরাকল-নির্দিষ্ট থাকে। কমপক্ষে এসকিউএল এস এর মাধ্যমে হয় যদি আপনি মুছে ফেলেন বা ট্রেন করেন তবে আপনি স্পেস পুনরুদ্ধার করবেন না (উদাহরণস্বরূপ ডাটাবেস ফাইলগুলি হার্ড ড্রাইভে সঙ্কুচিত হয় না) যদি না আপনি বিশেষভাবে এটির জন্য জিজ্ঞাসা করেন।
জো পাইনেদা

1
5 তম বিবৃতি: আপনি
স্কয়ার

1
Postgresql একটি ট্রানসেটকে রোলব্যাক করতে পারে এবং এইভাবে এটি স্ব-স্বীকৃতি দেয় না।
rfusca

5
মুছে ফেলা সারিগুলির সংখ্যা মুছুন, কিন্তু ট্রানসেটটি তা দেয় না। এটি অত্যন্ত নির্বোধ বিষয় তবে এটি উল্লেখ করার মতো :)
দীপক কুমার ঝা

190

কাটা কাটা এবং মোছার মধ্যে পার্থক্য নীচে তালিকাভুক্ত করা হয়েছে:

+----------------------------------------+----------------------------------------------+
|                Truncate                |                    Delete                    |
+----------------------------------------+----------------------------------------------+
| We can't Rollback after performing     | We can Rollback after delete.                |
| Truncate.                              |                                              |
|                                        |                                              |
| Example:                               | Example:                                     |
| BEGIN TRAN                             | BEGIN TRAN                                   |
| TRUNCATE TABLE tranTest                | DELETE FROM tranTest                         |
| SELECT * FROM tranTest                 | SELECT * FROM tranTest                       |
| ROLLBACK                               | ROLLBACK                                     |
| SELECT * FROM tranTest                 | SELECT * FROM tranTest                       |
+----------------------------------------+----------------------------------------------+
| Truncate reset identity of table.      | Delete does not reset identity of table.     |
+----------------------------------------+----------------------------------------------+
| It locks the entire table.             | It locks the table row.                      |
+----------------------------------------+----------------------------------------------+
| Its DDL(Data Definition Language)      | Its DML(Data Manipulation Language)          |
| command.                               | command.                                     |
+----------------------------------------+----------------------------------------------+
| We can't use WHERE clause with it.     | We can use WHERE to filter data to delete.   |
+----------------------------------------+----------------------------------------------+
| Trigger is not fired while truncate.   | Trigger is fired.                            |
+----------------------------------------+----------------------------------------------+
| Syntax :                               | Syntax :                                     |
| 1) TRUNCATE TABLE table_name           | 1) DELETE FROM table_name                    |
|                                        | 2) DELETE FROM table_name WHERE              |
|                                        |    example_column_id IN (1,2,3)              |
+----------------------------------------+----------------------------------------------+

টেবিলের রিসেট পরিচয়টি কেটে ফেললে এর অর্থ কী? তবে, মুছে ফেলার কী?
রবি

1
@ জেউইভার: এটির অর্থ যখন আপনি প্রাথমিক কী ক্ষেত্রের জন্য পরিচয় নির্দিষ্টকরণের সম্পত্তিটিকে সত্যে সেট করেন, সুতরাং আপনি যখন সেই টেবিলের মধ্যে ডেটা sertোকান তখন প্রাথমিক কী কলামটির মান 1,2,3,4,5 এর মতো থাকে .... (যদি পরিচয় শুরু হয়) 1 এবং বীজ হ'ল 1), এবং আপনি যখন টেবিলটি কেটে ফেলবেন তখন এটি সমস্ত পরিচয় মান হারাবে, সুতরাং আপনি যখন সেই টেবিলের মধ্যে ডেটা inোকানো শুরু করবেন তখন এটি সর্বশেষে যেখানে থাকবে তার পরিবর্তে 1 থেকে শুরু হবে। মোছার ক্ষেত্রে, এটি বিপরীত, আপনি বিলোপ বিবৃতিটি কার্যকর করার পরেও এটি পরিচয় মান সংরক্ষণ করে। উপরের চিত্রটিতে ডিলিটি কলামে ২ য় তুলনা পয়েন্ট ভুলের জন্য দুঃখিত।
ভৌমিক প্যাটেল

দেখে মনে হচ্ছে আপনি এসকিউএল সার্ভারের
রবি

4
ট্রানসেট এবং মোছা উভয়ই এসকিউএল সার্ভারে রোলডব্যাক করা যায় । এবং ২ য় সারিতে ডিলিট ডোজ পরিচয়টি পুনরায় সেট করবেন না। এখন আপনি কিভাবে এই পোস্টে সম্পাদনা করতে পারেন? স্ট্যাকওভারফ্লোতে ছবি ব্যবহার করার ক্ষেত্রে এটি খারাপ কাজ।
মাহমুদ জেনামি

2
কেটে ফেলা হচ্ছে! (এসকিউএল সার্ভার)
আইমল খান

55

ড্রপ

DROP কমান্ড ডাটাবেস থেকে একটি সারণী অপসারণ করে। সমস্ত সারণির সারি, সূচি এবং সুবিধাগুলিও সরানো হবে। কোনও ডিএমএল ট্রিগারকে বরখাস্ত করা হবে না। অপারেশন ফিরে ঘূর্ণিত করা যাবে না।

অগ্রভাগ ছাঁটিয়া দেত্তয়া

ট্রানসেট একটি সারণী থেকে সমস্ত সারি সরিয়ে দেয়। অপারেশনটি আবার ঘুরিয়ে দেওয়া যাবে না এবং কোনও ট্রিগারও বরখাস্ত করা হবে না। এর মতো, ট্রানসেট দ্রুততর এবং ডিলেট হিসাবে যতটা পূর্বাবস্থায় ফিরে আসে তা ব্যবহার করে না। ছাঁটাই করার সময় সারণী স্তরের লক যুক্ত হবে।

মুছে ফেলা

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

থেকে: http://www.orafaq.com/faq/differences_between_truncate_delete_ এবং_ড্রোপ_কম্যান্ডস


5
আমার মতো শিক্ষানবিশদের জন্য দুর্দান্ত ব্যাখ্যা
বিকাশ কুক্রেটি

সংক্ষিপ্ত এবং মিষ্টি
এবিএইচ

23

সমস্ত ভাল উত্তর, যা আমি অবশ্যই যোগ করতে হবে:

যেহেতু TRUNCATE TABLEএকটি ডিডিএল ( ডেটা সংজ্ঞা ভাষা ), কোনও ডিএমএল ( ডেটা ম্যানিপুলেশন ল্যাঙ্গেজ ) কমান্ড নয়, এটি Delete Triggersচালায় না।


আহ, ট্রিগার ... এটি একটি ভাল পয়েন্ট। আমি এটিকে আমার তৈরি তালিকায় যুক্ত করব এবং পোলারাকে ক্রেডিট করব, যদি তা ঠিক থাকে।
ডেভিড অলড্রিজ

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

পোস্টগ্র্যাস এসকিউএল এর একটি "
ট্রানসেট

20

SQL সার্ভার মুছুন 'বনাম truncate সংক্ষিপ্তসার
: সম্পূর্ণ নিবন্ধ জন্য এই লিঙ্কটি অনুসরণ করুন http://codaffection.com/sql-server-article/delete-vs-truncate-in-sql-server/

এখানে চিত্র বর্ণনা লিখুন

ডটনেট ভিড় নিবন্ধ থেকে নেওয়া: এসকিউএল সার্ভারে বনাম ট্রান্সকেট মুছুন


17

এসকিউএল সার্ভার বা মাইএসকিউএল সহ, অটো বর্ধনের সাথে যদি কোনও পিকে থাকে, কাউন্ট কাউন্টারের পুনরায় সেট করবে।


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

প্রশ্নটি যেমন ORACLE ট্যাগ করা হয়, তারপরে এই উত্তরটি ভুল, তাই ডাউনভোটেড।
গাই

ওফস, ওরাকল ট্যাগটি দেখেনি :)
ম্যাথিউ

+1 সত্য এবং এটি 0 এ পুনরায় সেট করে । আপনি যদি এটির পরিবর্তে এটি 1 হতে চান :DBCC CHECKIDENT (table_name, RESEED, 1)
জনবি

আমি এটি সম্প্রদায়ের উত্তরের সাথে যুক্ত করেছি এবং এটি বিক্রেতার-নির্দিষ্ট সমস্যাগুলির নথিভুক্ত করার জন্য কিছুটা বেশি বন্ধুত্বপূর্ণ করে
তুলেছি

12

"কাটা কাটা কিছু লগ করে না" সঠিক। আমি আরও যেতে হবে:

লেনদেনের প্রসঙ্গে কাটা কাটা কার্যকর হয় না।

মুছে ফেলা ওভার মুছে ফেলার গতি সুবিধা সুস্পষ্ট হওয়া উচিত। এই সুবিধাটি আপনার পরিস্থিতির উপর নির্ভর করে তুচ্ছ থেকে শুরু করে বিশাল অবধি।

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


7

TRUNCATEএটি ডিডিএল বিবৃতি যেখানে DELETEএকটি ডিএমএল বিবৃতি। নীচে উভয়ের মধ্যে পার্থক্য রয়েছে:

  1. হিসাবে TRUNCATEএকটি DDL (হয় ডেটা সংজ্ঞা ভাষা এটা প্রয়োজন হয় না) বিবৃতি একটি স্থায়ী পরিবর্তন করতে কমিট। এবং এই কারণেই কাটা কাটা দ্বারা মোছা সারিগুলি রোলব্যাক করা যায়নি। অন্যদিকে DELETEএকটি ডিএমএল ( ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ ) বিবৃতি তাই এর প্রভাব স্থায়ী করতে সুস্পষ্ট প্রতিশ্রুতি প্রয়োজন।

  2. TRUNCATEসর্বদা সারণি থেকে সমস্ত সারি সরিয়ে ফেলা হয়, টেবিলটি খালি রাখুন এবং টেবিলের কাঠামো অক্ষত থাকবে যেখানে DELETEশর্তসাপেক্ষে অপসারণ করা যেতে পারে যেখানে যেখানে ক্লজটি ব্যবহৃত হয়।

  3. TRUNCATE TABLEবিবৃতি দ্বারা মুছে ফেলা সারিগুলি পুনরুদ্ধার করা যাবে না এবং আপনি TRUNCATEবিবৃতিতে যেখানে ধারাটি নির্দিষ্ট করতে পারবেন না ।

  4. TRUNCATEবিবৃতি ট্রিগার গুলি করে না ডিলিট ট্রিগার উপর বিরোধিতা DELETEবিবৃতি

এখানে বিষয়টির সাথে প্রাসঙ্গিক খুব ভাল লিঙ্ক।


6

হ্যাঁ, মোছা ধীরে ধীরে, ট্রানসেট দ্রুত is কেন?

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

ট্র্যাঙ্কেট কেবল টেবিলের জন্য ডেটাবেজে একটি পয়েন্টার সামঞ্জস্য করে (উচ্চ জল চিহ্ন) এবং পুফ! তথ্য চলে গেছে।

এটি ওরাকল নির্দিষ্ট, আফাইক AI


পোস্টগ্রিএসকিউএলও এর সাথে একই রকম।
গ্যাভিন এম রায়

6

অগ্রভাগ ছাঁটিয়া দেত্তয়া

ট্র্যাঙ্কেট এসকিউএল ক্যোয়ারী পৃথক সারি মুছে ফেলা লগ না করে একটি সারণী থেকে সমস্ত সারি সরিয়ে দেয়।

  • ট্রানসেট একটি ডিডিএল কমান্ড।
  • ট্রানসেটটি একটি টেবিল লক ব্যবহার করে কার্যকর করা হয় এবং সমস্ত রেকর্ড অপসারণের জন্য পুরো টেবিলটিকে লক করা হয়।
  • আমরা ট্রুনসেটের সাথে যেখানে সারণি ব্যবহার করতে পারি না।
  • ট্রানসেট একটি সারণী থেকে সমস্ত সারি সরিয়ে দেয়।
  • লেনদেন লগ ন্যূনতম লগিং, তাই এটি দ্রুত কর্মক্ষমতা অনুযায়ী।
  • ট্র্যাঙ্কেট টেবিল সারণীর ডেটা সংরক্ষণের জন্য ব্যবহৃত ডেটা পৃষ্ঠাগুলিকে অবনতি করে ডেটা সরিয়ে দেয় এবং লেনদেনে লগের মধ্যে কেবল পৃষ্ঠা বিলোপ রেকর্ড করে।
  • কোনও টেবিলের উপর কাটা কাটা ব্যবহার করতে আপনার টেবিলের কমপক্ষে ALTER অনুমতি দরকার।
  • মুছুন স্টেটমেন্টের চেয়ে কম ট্রানজেকশন স্পেস ব্যবহার করে un
  • সংক্ষিপ্ত দৃষ্টিভঙ্গি দিয়ে কাটা কাটা ব্যবহার করা যাবে না।
  • TRUNCATE DELETE এর চেয়ে দ্রুত।

মুছে ফেলা

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

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

5

দুর্ঘটনাক্রমে আপনি মুছুন / ছাঁটাই ব্যবহার করে টেবিল থেকে সমস্ত ডেটা সরিয়ে ফেলেছেন। আপনি প্রতিশ্রুতিবদ্ধ লেনদেন রোলব্যাক করতে পারেন। মোছা / কাটা কাটা ঘটার সময় অবধি শেষ ব্যাকআপ এবং চালিত লেনদেনের লগ পুনরুদ্ধার করুন।

নীচে সম্পর্কিত তথ্য একটি ব্লগ পোস্ট থেকে :

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

মুছে ফেলা:

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

অগ্রভাগ ছাঁটিয়া দেত্তয়া

  • কাটা একটি ডিডিএল কমান্ড।
  • কাটা টেবিল সর্বদা টেবিল এবং পৃষ্ঠা লক করে তবে প্রতিটি সারি থাকে না s এটি সমস্ত ডেটা সরিয়ে দেয়।
  • অবস্থা যেখানে ব্যবহার করতে পারবেন না।
  • এটি সমস্ত ডেটা অপসারণ করে।
  • কাটা টেবিলটি একটি ট্রিগার সক্রিয় করতে পারে না কারণ অপারেশনটি পৃথক সারি মোছার লগ করে না।
  • কর্মক্ষমতা অনুযায়ী দ্রুততর, কারণ এটি কোনও লগ রাখে না।

দ্রষ্টব্য: লেনদেনের সাথে ব্যবহার করার সময় মুছুন এবং ছাঁটাই উভয়ই আবার ঘূর্ণিত হতে পারে। যদি লেনদেন হয়ে যায়, প্রতিশ্রুতিবদ্ধ হয়ে থাকে তবে আমরা ট্রান্সকেট কমান্ডটি রোলব্যাক করতে পারি না, তবে লগ ফাইলগুলি থেকে ভবিষ্যতে রোলব্যাকের প্রয়োজন হলে লগ ফাইলটিতে রেকর্ড রেকর্ড মুছে ফেলার সাথে আমরা লগ ফাইলগুলি থেকে মুছে ফেলুন আদেশটি রোলব্যাক করতে পারি।

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

সারণী মুছে ফেলা একটি লগ করা অপারেশন। সুতরাং প্রতিটি সারি মুছে ফেলা লেনদেনে লগ হয়, যা এটি ধীর করে তোলে। কাটা টেবিলটি একটি সারণীতে সমস্ত সারি মুছে ফেলবে, তবে এটি প্রতিটি সারি মুছে ফেলার লগ করবে না পরিবর্তে এটি সারণির ডেটা পৃষ্ঠাগুলির অবনমনকে লগ করে, যা এটি আরও দ্রুত করে তোলে।

Accident যদি দুর্ঘটনাক্রমে আপনি মুছুন / ছাঁটাই ব্যবহার করে টেবিল থেকে সমস্ত ডেটা সরিয়ে ফেলেছেন। আপনি প্রতিশ্রুতিবদ্ধ লেনদেন রোলব্যাক করতে পারেন। মোছা / কাটা কাটা ঘটার সময় অবধি শেষ ব্যাকআপ এবং চালিত লেনদেনের লগ পুনরুদ্ধার করুন।


1
ধন্যবাদ @ লুকাস: তিনি বিষয়বস্তুটি সন্নিবেশিত করেছেন। এটি কেবল কোনও ব্লককোটে রেখেছি যাতে এটি স্পষ্ট হয় যে এটি কোনও পার্থক্য উত্স থেকে এসেছে।
21:36 এস্ট্রোসিবি

4

এসকিউএল সার্ভার 2005-এ আমি বিশ্বাস করি যে আপনি একটি কাটা কাটা রোলব্যাক করতে পারেন


4

মুছে ফেলা

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

অগ্রভাগ ছাঁটিয়া দেত্তয়া

ট্রানসেট একটি সারণী থেকে সমস্ত সারি সরিয়ে দেয়। অপারেশনটি আবার ঘুরিয়ে দেওয়া যাবে না এবং কোনও ট্রিগারও বরখাস্ত করা হবে না। তেমনি, ট্র্যাকট দ্রুত হয় এবং ডিলেট হিসাবে যতটা পূর্বাবস্থায় ফিরে আসে তা ব্যবহার করে না।

ড্রপ

DROP কমান্ড ডাটাবেস থেকে একটি সারণী অপসারণ করে। সমস্ত সারণির সারি, সূচি এবং সুবিধাগুলিও সরানো হবে। কোনও ডিএমএল ট্রিগারকে বরখাস্ত করা হবে না। অপারেশন ফিরে ঘূর্ণিত করা যাবে না।


ড্রপ এবং ট্রানসেট ডিডিএল কমান্ড, যেখানে ডিলেট একটি ডিএমএল কমান্ড। অতএব, মুছে ফেলা অপারেশনগুলি আবার ঘুরিয়ে ফেলা যায় (পূর্বাবস্থায় ফেরা), যখন ডিআআরপি এবং ট্রানসেটের ক্রিয়াকলাপগুলি আবার ঘুরিয়ে দেওয়া যায় না।

থেকে: http://www.orafaq.com/faq/differences_between_truncate_delete_ এবং_ড্রোপ_কম্যান্ডস


এটি কি বর্তমান উত্তরের সাথে কিছু যুক্ত করে?
ডেভিড অ্যালড্রিজে

3

ট্রানজিকেট কোনও লেনদেনের মধ্যে আবৃত থাকলে ফিরিয়ে আনা যায়।

নীচের দুটি উল্লেখ দেখুন এবং নিজেকে পরীক্ষা করুন: -

http://blog.sqlauthority.com/2007/12/26/sql-server-truncate-cant-be-rolled-back-using-log-files-after-transaction-session-is-closed/

http://sqlblog.com/blogs/kalen_delaney/archive/2010/10/12/tsql-tuesday-11-rolling-back-truncate-table.aspx

ট্র্যাঙ্কেট বনাম ডিলেট হ'ল এসকিউএল সাক্ষাত্কারের সময় অন্যতম কুখ্যাত প্রশ্ন। কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি এটি ভালভাবে ইন্টারভিউয়ারকে ব্যাখ্যা করেছেন বা এটি আপনার কাজের জন্য ব্যয় করতে পারে। সমস্যাটি হ'ল অনেকেই সচেতন নয় তাই সম্ভবত আপনি উত্তরটি ভুল হিসাবে বিবেচনা করবেন যদি আপনি তাদেরকে বলেন যে, ইয়েস ট্রাঙ্কেটটি আবার ঘুরিয়ে দেওয়া যেতে পারে।


2

আসল উত্তরের একটি ছোট সংশোধন - মুছুনও পুনর্বার উল্লেখযোগ্য পরিমাণে উত্পন্ন করে (পূর্বাবস্থায় ফেরানো নিজেই পুনরায় দ্বারা সুরক্ষিত থাকে)। এটি অটোট্রেস আউটপুট থেকে দেখা যায়:

SQL> delete from t1;

10918 rows deleted.

Elapsed: 00:00:00.58

Execution Plan
----------------------------------------------------------
   0      DELETE STATEMENT Optimizer=FIRST_ROWS (Cost=43 Card=1)
   1    0   DELETE OF 'T1'
   2    1     TABLE ACCESS (FULL) OF 'T1' (TABLE) (Cost=43 Card=1)




Statistics
----------------------------------------------------------
         30  recursive calls
      12118  db block gets
        213  consistent gets
        142  physical reads
    3975328  redo size
        441  bytes sent via SQL*Net to client
        537  bytes received via SQL*Net from client
          4  SQL*Net roundtrips to/from client
          2  sorts (memory)
          0  sorts (disk)
      10918  rows processed

এটির পুরানো থ্রেড তবে আমার বোঝা অনুসারে ছাঁটাই কেবল পুনরায় লগ তৈরি করতে পারে যেখানে মুছলে মুছলে পূর্বাবস্থায় ফিরে আসে এবং উভয়ই আবার ঘটে।
সৌরভ সিনহা

2

এসকিউএল সার্ভারে মুছে ফেলা এবং ট্রানসেটের মধ্যে পার্থক্য সম্পর্কে আমার বিশদ উত্তর এখানে

ডেটা সরান : প্রথম প্রথম জিনিস, উভয় টেবিল থেকে সারি মুছে ফেলার জন্য ব্যবহার করা যাবে।
তবে একটি মুছে ফেলা কেবল সারণি থেকে নয় সেক্ষেত্রে একটি ভিউ বা কোনও OPENROWSET বা সরবরাহকারীর সক্ষমতা সাপেক্ষে একটি অপেনের ফলাফল থেকে সারিগুলি সরাতে ব্যবহার করা যেতে পারে।

ধারা থেকে : সঙ্গে DELETE আপনার কাছে এক টেবিলে / ভিউ থেকে ডিলিট সারি / দফা থেকে অন্য ব্যবহারের মাধ্যমে অন্য টেবিল থেকে সারি উপর ভিত্তি করে rowset_function_limited পারবেন না। সেই FROM ধারাতে আপনি সাধারণ JOIN শর্তও লিখতে পারেন। প্রকৃতপক্ষে আপনি একটি নির্বাচনী বিবৃতি থেকে একটি মুছে ফেলা বিবরণী তৈরি করতে পারেন যার মধ্যে SELE- কে DELETE প্রতিস্থাপন করে এবং কলামের নামগুলি মুছে ফেলার মাধ্যমে কোনও সামগ্রিক ফাংশন নেই।
ট্রানসেটের সাহায্যে আপনি এটি করতে পারবেন না।

যেখানে : একটি ট্রানসেটের যেখানে শর্ত থাকতে পারে না, তবে একটি মোছা পারে। এর অর্থ ট্রানসেটের সাহায্যে আপনি একটি নির্দিষ্ট সারি বা সারিগুলির নির্দিষ্ট গ্রুপ মুছতে পারবেন না। ট্র্যাঙ্কেট টেবিল হ'ল বিধি মোছার সাথে সমান, যেখানে কোনও ধারা নেই।

Formance পারফরম্যান্স : truncate টেবিল দ্রুত এবং ব্যবহার কম সিস্টেম এবং লেনদেন লগ সম্পদ। এবং এর অন্যতম কারণ হ'ল উভয় বিবৃতি দ্বারা ব্যবহৃত লকগুলি। মোছা বিবৃতিটি একটি সারি লক ব্যবহার করে কার্যকর করা হয়, সারণীর প্রতিটি সারি মুছে ফেলার জন্য লক করা আছে। ট্র্যাঙ্কেট টেবিল সর্বদা সারণি এবং পৃষ্ঠাটিকে লক করে তবে প্রতিটি সারি নয়।

লেনদেন লগ : মোছা বিবৃতিটি একবারে সারিগুলি সরিয়ে দেয় এবং প্রতিটি সারির জন্য লেনদেনে লগের পৃথক এন্ট্রি করে makes
ট্র্যাঙ্কেট টেবিল সারণীর ডেটা সংরক্ষণ করার জন্য ব্যবহৃত ডেটা পৃষ্ঠাগুলিকে অবনতি করে ডেটা সরিয়ে দেয় এবং লেনদেনের লগে কেবল পৃষ্ঠা বিলোপ রেকর্ড করে।

পৃষ্ঠাগুলি : একটি মোছার বিবৃতি কার্যকর করার পরে, সারণীতে এখনও খালি পৃষ্ঠা থাকতে পারে। ট্র্যাঙ্কেট টেবিলের ডেটা সঞ্চয় করার জন্য ব্যবহৃত ডেটা পৃষ্ঠাগুলিকে অবনতি করে ডেটা সরিয়ে দেয়।

ট্রিগার : truncate টেবিলের উপর মুছুন ট্রিগার সক্রিয় নেই। সুতরাং ট্রানসেট ব্যবহার করার সময় আপনাকে অবশ্যই খুব সতর্কতা অবলম্বন করা উচিত। সারণি মোছার সাথে সাথে কিছু স্বয়ংক্রিয় ক্লিনআপ বা লগিং অ্যাকশন করার জন্য যদি ট্রিগারটিকে টেবিলের উপরে সংজ্ঞায়িত করা হয় তবে কখনই ট্র্যাঙ্কেট ব্যবহার করা উচিত নয়।

Col পরিচয় কলাম : সত্যতা সহ যদি টেবিলটিতে একটি পরিচয় কলাম থাকে তবে column কলামটির কাউন্টারটি কলামের জন্য নির্ধারিত বীজ মানটিতে পুনরায় সেট করা হয়েছে। যদি কোনও বীজ সংজ্ঞায়িত না করা হয়, তবে ডিফল্ট মান 1 ব্যবহার করা হয়। মোছা পরিচয় কাউন্টারটিকে পুনরায় সেট করে না। সুতরাং আপনি যদি পরিচয় কাউন্টার ধরে রাখতে চান তবে পরিবর্তে ডিলিট ব্যবহার করুন।

আত্ম : মুছে দিন লেনদেনের রেপ্লিকেশন বা একত্রীকরণ রেপ্লিকেশন ব্যবহৃত টেবিল বিরুদ্ধে ব্যবহার করা যাবে।
যদিও ট্রানসকেট লেনদেনের অনুলিপি বা মার্জ প্রতিরূপে জড়িত সারণীর বিরুদ্ধে ব্যবহার করা যায় না।

রোলব্যাক : মুছে দিন বিবৃতি ফিরে ঘূর্ণিত করা যেতে পারে।
ট্রান্সকেশন ব্লকে আবদ্ধ থাকে এবং সেশনটি বন্ধ না হয়ে থাকে ট্রানসেটকে আবারও ঘুরিয়ে দেওয়া যায়। একবার সেশন বন্ধ হয়ে গেলে আপনি ট্রলসেট রোলব্যাক করতে পারবেন না।

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


হাই মঙ্গল - উত্তরের জন্য বিশেষত এসকিউএল * সার্ভার নির্দিষ্ট সমস্যার জন্য ধন্যবাদ। আপনি কি মনে করেন যে আপনি গৃহীত সম্প্রদায়ের উইকি উত্তরটির সাথে এই পয়েন্টগুলিকে একীভূত করতে পারেন যা গৃহীত হয়েছিল?
ডেভিড অলড্রিজ

হ্যাঁ নিশ্চিত, তবে কোথায় এবং কোথায়? দুঃখিত আমি এখানে নতুন।
মঙ্গল পরদেশী

"সুতরাং আপনি যদি পরিচয় কাউন্টারটি ধরে রাখতে চান, তবে মুছে DECLARE @ai as bigint SET @ai =IDENT_CURRENT('tablename') TRUNCATE TABLE tablename DBCC checkident('tablename', RESEED, @ai)
ফেলুন

1

সবচেয়ে বড় পার্থক্য হ'ল মোছার সময় কাটা কাটা নন লগড অপারেশন।

সহজভাবে এর অর্থ হ'ল কোনও ডাটাবেস ক্রাশের ক্ষেত্রে আপনি কাটা কাটা দ্বারা চালিত ডেটা পুনরুদ্ধার করতে পারবেন না তবে মুছলে আপনি পারবেন।

আরও বিশদ এখানে


1

বিবৃতি মুছে ফেলুন: এই কমান্ডটি শর্তের ভিত্তিতে সারণি থেকে সারিগুলি সরিয়ে দেয় যেখানে শর্ত নির্দিষ্ট করা না থাকলে টেবিল থেকে সমস্ত সারি মুছে ফেলা বা মুছে ফেলা হয়। তবে এটি টেবিলযুক্ত স্থানটি মুক্ত করে না।

একটি এসকিউএল মোছার বিবৃতিটির সিনট্যাক্সটি হ'ল:

টেবিলের নাম থেকে [WHERE শর্ত] মুছে দিন;

ট্রানকেট স্টেটমেন্ট: এই কমান্ডটি টেবিল থেকে সমস্ত সারি মুছে ফেলার জন্য এবং টেবিলযুক্ত স্থানটি মুক্ত করতে ব্যবহৃত হয়।


1

মুছে ফেলা

DELETE is a DML command
DELETE you can rollback
Delete = Only Delete- so it can be rolled back
In DELETE you can write conditions using WHERE clause
Syntax  Delete from [Table] where [Condition]

অগ্রভাগ ছাঁটিয়া দেত্তয়া

TRUNCATE is a DDL command
You can't rollback in TRUNCATE, TRUNCATE removes the record permanently
Truncate = Delete+Commit -so we can't roll back
You can't use conditions(WHERE clause) in TRUNCATE
Syntax  Truncate table [Table]

বিস্তারিত জানতে ভিজিট করুন

http://www.zilckh.com/what-is-the-difference-between-truncate-and-delete/


1

দুটি ক্রিয়াকলাপের আরও একটি পার্থক্য হ'ল যদি টেবিলটিতে একটি পরিচয় কলাম থাকে তবে সেই কলামটির কাউন্টারটি ট্রুনসেটের অধীনে 1 (বা কলামের জন্য নির্ধারিত বীজ মানকে) পুনরায় সেট করা হবে। মুছে ফেলুন এর কোনও প্রভাব নেই।


0

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


0

এটি কার্যকর হওয়ার একটি বড় কারণ হ'ল যখন আপনাকে এক মিলিয়ন মিলিয়ন সারি সারণীতে ডেটা রিফ্রেশ করতে হবে তবে এটি পুনর্নির্মাণ করতে চান না। "মুছুন *" চিরকালের জন্য গ্রহণ করবে, যেখানে ট্র্যাঙ্কেটের পারফোমেন্স প্রভাবটি নগন্য হবে।


0

ডিবিলিঙ্কের মাধ্যমে ডিডিএল করতে পারি না।


0

আমি ম্যাথিউয়ের পোস্টে মন্তব্য করব, তবে আমার কাছে এখনও এই প্রতিনিধি নেই ...

মাইএসকিউএলে, অটো ইনক্রিমেন্ট কাউন্টারটি ছাঁটাইয়ের সাথে রিসেট হয়ে যায় তবে মুছে ফেলা হয় না।


0

এটি নয় যে কাটছাঁটি এসকিউএল সার্ভারে কিছু লগ করে না। সংক্ষিপ্ত বিবরণ কোনও তথ্য লগ করে না তবে এটি যে পৃষ্ঠায় আপনি ট্রান্সকেট বরখাস্ত করেছেন সেটির জন্য ডেটা পৃষ্ঠার অবনতি লগ করে।

এবং কাটা রেকর্ডটি রোলব্যাক হতে পারে যদি আমরা শুরুতে লেনদেনের সংজ্ঞা দিই এবং আমরা রোলব্যাকের পরে ছাঁটা রেকর্ডটি পুনরুদ্ধার করতে পারি। প্রতিশ্রুতিবদ্ধ কাটা লেনদেনের পরে লেনদেন লগ ব্যাকআপ থেকে কাটা রেকর্ডগুলি পুনরুদ্ধার করতে পারে না।


0

সংক্ষিপ্তসারটি এখানে রোলব্যাকডও হতে পারে এক্সপ্যামল

begin Tran
delete from  Employee

select * from Employee
Rollback
select * from Employee

0

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

এখানে ক্লিক করুন চেক দেখুন


0

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


0

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


0

মাইক্রোসফ্ট এসকিএল সার্ভারের সাথে নির্দিষ্ট আরও একটি পার্থক্য হ'ল deleteআপনি outputকী রেকর্ডস মুছে ফেলা হয়েছে তা ট্র্যাক করতে বিবৃতি ব্যবহার করতে পারেন , যেমন:

delete from [SomeTable]
output deleted.Id, deleted.Name

আপনি এটি দিয়ে করতে পারবেন না truncate

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