首页
/
每日頭條
/
生活
/
table的table屬性為什麼不顯示
table的table屬性為什麼不顯示
更新时间:2024-04-29 22:34:14

table的table屬性為什麼不顯示?相同點TRUNCATE TABLE和DELETE都可以删除整個數據庫表的記錄,今天小編就來聊一聊關于table的table屬性為什麼不顯示?接下來我們就一起去研究一下吧!

table的table屬性為什麼不顯示(DROPTABLETRUNCATE)1

table的table屬性為什麼不顯示

相同點

TRUNCATE TABLE和DELETE都可以删除整個數據庫表的記錄

不同點

  1. DELETE
  2. DML語言
  3. 可以回退
  4. 可以有條件的删除
  5. DELETE FROM 表名 WHERE 條件
  6. TRUNCATE TABLE
  7. DDL語言
  8. 無法回退
  9. 默認所有的表内容都删除
  10. 删除速度比delete快
  11. TRUNCATE TABLE 表名
  12. DROP TABLE
  13. 用于删除表(表的結構、屬性以及索引也會被删除);
  14. DROP TABLE 表名

原理

DDL(Data Definition Language)數據定義語言,DML(Data Manipulation Language)數據操作語言。

  • TRUNCATE在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令Delete将被撤銷,而TRUNCATE則不會被撤銷。
  • TRUNCATE是一個DDL語言,向其他所有的DDL語言一樣,他将被隐式提交,不能對TRUNCATE使用ROLLBACK命令。
  • TRUNCATE将重新設置高水平線和所有的索引。在對整個表和索引進行完全浏覽時,經過TRUNCATE操作後的表比Delete操作後的表要快得多。
  • TRUNCATE不能觸發任何Delete觸發器。
  • 當表被清空後表和表的索引講重新設置成初始大小,而delete則不能。
  • 不能清空父表。

優化

在數據庫裡,使用delete删除數據以後,數據庫的存儲容量不會減少,而且使用delete删除某個表的數據以後,查詢這張表的速度和删除之前一樣,不會發生變化。

因為數據庫有一個HWM高水位,它是oracle的一個表使用空間最高水位線。當插入了數據以後,高水位線就會上漲,但是如果你采用delete語句删除數據的話,數據雖然被删除了,但是高水位線卻沒有降低,還是你剛才删除數據以前那麼高的水位。除非使用truncate删除數據。那麼,這條高水位線在日常的增删操作中隻會上漲,不會下跌,所以數據庫容量也隻會上升,不會下降。而使用select語句查詢數據時,數據庫會掃描高水位線以下的數據塊,因為高水位線沒有變化,所以掃描的時間不會減少,所以才會出現使用delete删除數據以後,查詢的速度還是和delete以前一樣。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved