2023-03-16 15:46:52
來源:互聯網
提起什么是trim函數 trim函數的語法和作用大家在熟悉不過了,被越來越多的人所熟知,那你知道什么是trim函數 trim函數的語法和作用嗎?快和小編一起去了解一下吧!
固態硬盤的參數中有一個trim功能,這個功能是什么,SSD硬盤的TRIM功能有什么作用?
PHP4,PHP5中的trim():
(資料圖片)
功能除去字符串開頭和末尾的空格或其他字符。函數執行成功時返回刪除了string字符串首部和尾部空格的字符串,發生錯誤時返回空字符串("")。如果任何參數的值為NULL,Trim()函數返回NULL。
函數語法
TRIM([[位置] [要移除的字串] FROM ] 字串): [位置] 的可能值為 LEADING (起頭),TRAILING (結尾),or BOTH (起頭及結尾)。這個函數將把 [要移除的字串] 從字串的起頭、結尾,或是起頭及結尾移除。如果我們沒有列出 [要移除的字串] 是什么的話,那空白就會被移除。
LTRIM(字串): 將所有字串起頭的空白移除。
RTRIM(字串): 將所有字串結尾的空白移除。
例1:
SELECT TRIM(' Sample ');
結果:
'Sample'
例2:
SELECT LTRIM(' Sample ');
結果:
'Sample '
例3:
SELECT RTRIM(' Sample ');
結果:
' Sample'
2,Trim又叫Disable Delete Notify。Trim啟用的驗證方法:用管理員權限打開CMD,輸入fsutil behavior QUERY DisableDeleteNotify
DisableDeleteNotify = 0 Trim啟用
DisableDeleteNotify = 1 Trim未啟用
Trim的作用
原本在機械硬盤上,寫入數據時,Windows會通知硬盤先將以前的擦除,再將新的數據寫入到磁盤中。而在刪除數據時,Windows只會在此處做個標記,說明這里應該是沒有東西了,等到真正要寫入數據時再來真正刪除,并且做標記這個動作會保留在磁盤緩存中,等到磁盤空閑時再執行。
這樣一來,磁盤需要更多的時間來執行以上操作,速度當然會慢下來。
而當Windows識別到SSD并確認SSD支持Trim后,在刪除數據時,會不向硬盤通知刪除指令,只使用Volume Bitmap來記住這里的數據已經刪除。Volume Bitmap只是一個磁盤快照,其建立速度比直接讀寫硬盤去標記刪除區域要快得多。這一步就已經省下一大筆時間了。然后再是寫入數據的時候,由于NAND閃存保存數據是純粹的數字形式,因此可以直接根據Volume Bitmap的情況,向快照中已刪除的區塊寫入新的數據,而不用花時間去擦除原本的數據。
以上就是Trim的原理以及真正作用。
驗證方法
win7下Trim驗證方法
其實Windows 7默認狀態下Trim指令是開啟的,如果想查詢目前的Trim指令狀態,我們可以在管理員權限下,進入命令提示符界面,輸入“fsutil behavior QUERY DisableDeleteNotify”,之后會得到相關查詢狀態的反饋。在這里,提示為“DisableDeleteNotify = 0”即Trim指令已啟用;提示為“DisableDeleteNotify = 1”即為Trim指令未啟用。
并不是操作系統提供Trim指令支持,所有SSD都能享受到Trim技術所帶來的好處,這還需要固態硬盤的固件支持才能實現。一些主要的固態硬盤主控芯片廠商已經提供了支持Trim的固件(例如英特爾"X25-M G2"),不過也有廠商開發出不依賴操作系統的垃圾回收技術,通過回收不再使用的閃存區塊加入負載平衡算法,防止固態硬盤在長期使用后速度下滑,并延長閃存使用壽命,過程完全在固態硬盤內部完成。