Sự khác biệt giữa cắt ngắn và xóa

Tạo và thao tác dữ liệu là cơ sở của cơ sở dữ liệu và chúng tôi gọi nó là DDL và DML tương ứng. DDL là tên viết tắt của Ngôn ngữ Định nghĩa Dữ liệu. Nó có thể tạo hoặc sửa đổi cấu trúc dữ liệu trong cơ sở dữ liệu và chúng không thể được sử dụng để thay đổi dữ liệu hiện trên bảng. Ví dụ: chúng ta có các lệnh chỉ tạo một bảng với các thuộc tính bảng được chỉ định nhưng nó không bao giờ thêm bất kỳ hàng nào vào bảng. Nhưng một DML, Ngôn ngữ thao tác dữ liệu, có khả năng thêm, xóa hoặc sửa đổi dữ liệu trong các bảng. Theo nguyên tắc chung, các lệnh DDL xử lý các cấu trúc bảng trong khi các lệnh DML xử lý dữ liệu thực tế. Hãy để nó là, tại sao chúng ta chỉ đi chệch khỏi chủ đề Khác biệt giữa cắt ngắn và xóa xóa? Có nhiều lý do mà chúng tôi đã nói về DML và DDL. Bạn sẽ hiểu nó trong cuộc thảo luận sắp tới.

Lệnh cắt ngắn là gì?

Mục đích của lệnh Truncate là xóa toàn bộ bảng. Vì vậy, khi bạn sử dụng lệnh Truncate, bạn sẽ mất tất cả dữ liệu trên bảng và bạn nên thận trọng khi sử dụng nó. Hãy cho chúng tôi biết làm thế nào để sử dụng nó.

Cú pháp của Truncate:

BẢNG TRUNCATE tên bảng;

Ở đây, bạn nên chỉ định tên của bảng nên được xóa trên toàn bộ. Điều này đảm bảo rằng sẽ có bất kỳ bảng nào ngồi trong không gian bộ nhớ. Dưới đây là một ví dụ về việc sử dụng Truncate.

Dưới đây là bảng 'nhân viên' và chỉ cần nhìn vào các hàng dữ liệu trong đó.

emp-id tên quốc gia chỉ định
1011 Jack Nhân viên bán hàng
1012 Rosy quản trị viên
1014 Nancy Tài chính

Bây giờ, chúng ta hãy đưa ra lệnh dưới đây trên bảng nhân viên.

BẢNG TRUNCATE Nhân viên;

Đây là kết quả của cú pháp trên và không có dữ liệu trong đó.

emp-id tên quốc gia chỉ định

Lệnh Xóa là gì?

Mục đích của lệnh Xóa là xóa các hàng được chỉ định khỏi bảng. Ở đây, mệnh đề 'Where' được sử dụng ở đây để chỉ định các hàng cần xóa. Khi chúng ta không chỉ định các hàng, lệnh sẽ xóa tất cả các hàng trong bảng. Chỉ cần nhìn vào cú pháp của nó.

XÓA TỪ Nhân viên;

Cú pháp trên xóa tất cả các hàng khỏi bảng 'nhân viên'. Vì vậy, bảng kết quả sẽ không chứa dữ liệu.

XÓA TỪ Nhân viên Ở ĐÂU emp-id = 1011;

Câu lệnh này chỉ xóa một hàng đơn có emp-id là 1011. Vì vậy, bảng kết quả sẽ như dưới đây.

emp-id tên quốc gia chỉ định
1012 Rosy quản trị viên
1014 Nancy Tài chính

Sự khác biệt:

  • Cắt ngắn là một DDL; Xóa là một DML: Chúng tôi đã thảo luận ở trên về cách DDL và DML hoạt động trong cuộc thảo luận ở trên của chúng tôi. Lệnh Truncate là một DDL và nó hoạt động ở cấp cấu trúc dữ liệu. Nhưng Xóa là một lệnh DML và nó hoạt động trên dữ liệu bảng. Các ví dụ khác cho DDL là CREATE và ALTER. Theo cách tương tự, chúng ta có thể nói các lệnh như CHỌN, CẬP NHẬT và INSERT là ví dụ hoàn hảo cho một DML.
  • Làm thế nào để cắt ngắn và xóa hoạt động: Ngay khi chúng ta phát lệnh Truncate, nó chỉ tìm bảng được chỉ định. Sau đó, nó loại bỏ hoàn toàn tất cả dữ liệu khỏi bộ nhớ. Nhưng quy trình làm việc có chút khác biệt trong trường hợp Xóa. Tại đây, dữ liệu bảng gốc được sao chép vào không gian được gọi là không gian 'Quay lại' trước khi thực hiện thao tác dữ liệu thực tế. Sau đó, các thay đổi được thực hiện trên không gian dữ liệu bảng thực tế. Vì vậy, cả hai đều khác nhau trong cách họ làm việc.

Cắt ngắn -> xóa toàn bộ dữ liệu khỏi bảng -> Không gian bảng được giải phóng ngay bây giờ.

Xóa bỏ -> Sao chép dữ liệu bảng gốc vào không gian Roll Back -> xóa dữ liệu đã chỉ định / toàn bộ bảng -> Không gian bảng được giải phóng nhưng không gian Roll Back được lấp đầy.

  • Quay lại: Việc khôi phục lại giống như một lệnh Hoàn tác trong các phụ kiện Microsoft của chúng tôi. Nó được sử dụng để hủy các thay đổi mà chúng tôi đã thực hiện gần đây, từ điểm lưu cuối cùng. Để thực hiện thao tác, dữ liệu phải được sao chép vào không gian Roll Back trước khi nó được chỉnh sửa. Mặc dù các Roll back này yêu cầu thêm bộ nhớ, nhưng chúng cực kỳ hữu ích để quay lại bản gốc. Đặc biệt, khi bạn chỉnh sửa một số lỗi! Hãy để chúng tôi đến với Cắt ngắn và Xóa đối với Quay lại ngay bây giờ. Như chúng ta đã thảo luận ở trên, Truncate không bao giờ sử dụng không gian cuộn lại và chúng ta không thể quay lại dữ liệu gốc. Nhưng lệnh Xóa sử dụng không gian quay lại và chúng ta chỉ có thể sử dụng 'Cam kết' hoặc 'Quay lại' để chấp nhận hoặc hủy các thay đổi tương ứng.
  • Gây nên: Đối với những người cần một lời giải thích về kích hoạt, đây là một lưu ý nhỏ. Kích hoạt là một tập hợp các hoạt động / hoạt động được chỉ định trước sẽ được kích hoạt khi bảng gặp một điều kiện cụ thể. Ví dụ: chúng tôi có thể kích hoạt thay đổi mức lương khi kinh nghiệm của nhân viên với công ty là hơn một năm. Những kích hoạt này cũng có thể hoạt động trên các bảng khác. Ví dụ: chúng tôi có thể cập nhật bảng tài chính ngay khi tăng lương cho nhân viên.

Truncate là lệnh DDL, kích hoạt không được phép ở đây. Nhưng Xóa là một lệnh DML, Triggers được phép ở đây.

  • Cái nào nhanh hơn? Như bạn đã đoán, lệnh Truncate sẽ nhanh hơn lệnh Xoá. Cái trước có thể xóa tất cả dữ liệu và không cần kiểm tra bất kỳ điều kiện khớp nào. Ngoài ra, dữ liệu gốc không được sao chép vào không gian rollback và điều này giúp tiết kiệm rất nhiều thời gian. Hai yếu tố này làm cho Truncate hoạt động nhanh hơn Xóa.
  • Chúng ta có thể sử dụng mệnh đề WHERE? Mệnh đề 'Where' được sử dụng để xác định các điều kiện khớp nhất định và không có gì với Truncate. Vì Truncate không bao giờ tìm kiếm bất kỳ điều kiện khớp nào và nó chỉ xóa tất cả các hàng, chúng tôi không thể sử dụng mệnh đề 'Where' ở đây. Nhưng chúng ta luôn có thể chỉ định điều kiện với sự trợ giúp của mệnh đề 'where' trong lệnh Xóa.
  • Mà chiếm nhiều không gian? Việc cắt ngắn sẽ không sử dụng không gian rollback và nó sẽ tiết kiệm bộ nhớ đó. Nhưng xóa cần một bản sao lưu dưới dạng không gian Rollback và do đó nó đòi hỏi nhiều không gian bộ nhớ hơn so với cắt ngắn.

Vì vậy, đó là những khác biệt và chúng ta hãy xem xét dưới dạng bảng.

S.Không Sự khác biệt trong Cắt ngắn Xóa bỏ
1. DDL hoặc DML? Nó là một DDL và nó hoạt động ở cấp cấu trúc dữ liệu. Các ví dụ khác cho DDL là CREATE và ALTER. Nó là một lệnh DML và nó hoạt động trên dữ liệu bảng. DML là viết tắt của Ngôn ngữ thao tác dữ liệu. Các lệnh như CHỌN, CẬP NHẬT và CHERTN là những ví dụ hoàn hảo cho một DML. DML là viết tắt của Ngôn ngữ thao tác dữ liệu.

2. Làm thế nào nó hoạt động? Ngay khi chúng ta phát lệnh Truncate, nó chỉ tìm bảng được chỉ định. Sau đó, nó loại bỏ hoàn toàn tất cả dữ liệu khỏi bộ nhớ. Tại đây, dữ liệu bảng gốc được sao chép vào không gian được gọi là không gian 'Quay lại' trước khi thực hiện thao tác dữ liệu thực tế. Sau đó, các thay đổi được thực hiện trên không gian dữ liệu bảng thực tế.
3. Phục hồi Lệnh Truncate không bao giờ sử dụng không gian khôi phục và chúng tôi không thể quay lại dữ liệu gốc. Không gian Rollback là một không gian độc quyền và bị chiếm dụng khi các lệnh DML được ban hành. Lệnh Xóa sử dụng không gian quay lại và chúng ta có thể sử dụng 'Cam kết' hoặc 'Quay lại' để chấp nhận hoặc hủy các thay đổi tương ứng.

4. Gây nên Truncate là lệnh DDL, kích hoạt không được phép. Xóa là một lệnh DML, Triggers được cho phép ở đây.

5. Cái nào nhanh hơn? Nó có thể xóa tất cả dữ liệu và không cần kiểm tra bất kỳ điều kiện khớp nào. Ngoài ra, dữ liệu gốc không được sao chép vào không gian rollback và điều này giúp tiết kiệm rất nhiều thời gian. Hai yếu tố này làm cho Truncate hoạt động nhanh hơn Xóa.

Nó sử dụng không gian rollback và luôn luôn giữ lại dữ liệu gốc trên đó. Đây là một gánh nặng thêm và đến lượt nó, mất nhiều thời gian hơn so với Truncate.
6. Chúng ta có thể sử dụng mệnh đề WHERE? Vì Truncate không bao giờ tìm kiếm bất kỳ điều kiện khớp nào và nó chỉ xóa tất cả các hàng, chúng tôi không thể sử dụng mệnh đề 'Where' ở đây. Nhưng chúng ta luôn có thể chỉ định điều kiện với sự trợ giúp của mệnh đề 'where' trong lệnh Xóa.
7. Mà chiếm nhiều không gian? Việc cắt ngắn sẽ không sử dụng không gian rollback và nó sẽ tiết kiệm bộ nhớ đó. Nó cần một bản sao lưu dưới dạng không gian Rollback và do đó nó đòi hỏi nhiều không gian bộ nhớ hơn so với cắt ngắn.

Biết được sự khác biệt giữa bất kỳ hai thực thể nào sẽ mở rộng kiến ​​thức về cả hai! Bạn đã đi đúng một con đường, tức là trang web để hiểu sự khác biệt, đặc biệt, giữa các lệnh cắt và xóa. Hy vọng bạn bây giờ rõ ràng với sự khác biệt của nó và cho chúng tôi biết nếu chúng tôi đã giúp bạn hiểu nó. Bạn cũng có thể giúp chúng tôi chỉ ra những gì còn lại!