本質:sqlserver為什麼表變數不能truncate

來源:互聯網
上載者:User

      最近突然想到這個問題,記錄下來鞏固一下自己的知識。

      表,暫存資料表,表變數,相信很多人都用過,truncate table @表變數 會報錯,相信很多人也遇到過,不過真正去思考為什麼的人可能少之又少,畢竟大多數情況下,我們大部分的人只需要會用,而不需要去知道為什麼,更何況國內的項目總是那麼緊張,本來還有的那點求知慾,可能也會被任務,績效考核沖跑了。

      那到底為什麼表變數不能truncate呢,這就需要瞭解truncate這個命令的本質,truncate table 是通過釋放儲存表資料所用的資料頁來刪除資料。而表變數的資料是儲存在記憶體中的,而非磁碟中,那麼就truncate table 試圖釋放表變數並不存在的 “資料頁”, 當然會報錯了。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.