「dba_optimize」和「dba_sync」之間的差異
使用「dba_optimize」來最佳化資料庫,這通常包括消除因刪除而產生的記錄間隙。
「dba_sync」函式將同步記憶體中資料庫的視圖及其在磁碟上的映像。當您插入記錄時,它們可能會被底層引擎快取在記憶體中。其他從資料庫讀取的程序將不會看到這些新記錄,直到同步完成。
(PHP 4, PHP 5, PHP 7, PHP 8)
dba_optimize — 最佳化資料庫
版本 | 說明 |
---|---|
8.4.0 | 現在,dba 參數需要一個 Dba\Connection 實例;先前,它需要一個有效的 dba 資源。 |
「dba_optimize」和「dba_sync」之間的差異
使用「dba_optimize」來最佳化資料庫,這通常包括消除因刪除而產生的記錄間隙。
「dba_sync」函式將同步記憶體中資料庫的視圖及其在磁碟上的映像。當您插入記錄時,它們可能會被底層引擎快取在記憶體中。其他從資料庫讀取的程序將不會看到這些新記錄,直到同步完成。
請注意,每個需要以*快速*方式存取異質資料的資料庫的內部結構不一定經過空間最佳化。因此,如果您新增、移除或替換具有不同內容長度的資料鍵,資料庫會繼續增長,浪費空間。因此,有時需要重新打包資料庫,以便從資料庫本身移除未使用的資料。但重要的是要記住,即使檔案增長,資料仍然保持最佳化,而且顯然存取速度仍然很快。更多資訊可在 dba_replace() 使用者貢獻的筆記中找到。