每月定期需要对数据进行大量的删除操作,想请教这样操作后对索引是否有影响,是否需要在删除操作完成后对索引进行更新之类的操作
如果需要的话这方面的内容搜索哪些关键字呢?
大家讲道理2017-04-17 16:14:39
可以使用OPTIMIZE
定期優化表,每週或每月一次,具體可以參考下面連結
http://dev.mysql.com/doc/refm...
摘自官網的描述
在這些情況下使用 OPTIMIZE TABLE,取決於表格的類型:
對具有自己的 .ibd 檔案的 InnoDB 表執行大量插入、更新或刪除操作後,因為該表是在啟用了 innodb_file_per_table 選項的情況下建立的。表和索引
配置選項innodb_optimize_fulltext_only=1。為了將
重新組織,並且可以回收磁碟空間以供作業系統
系統使用。
對 InnoDB 表中 FULLTEXT 索引一部分的資料列進行大量插入、更新或刪除操作後。首先設定索引維護週期保持在合理的時間,請設定
許多更改後。刪除的行保存在鍊錶中,後續的 INSERT 操作重複使用舊的行位置。您可以使用 OPTIMIZE TABLE 來回收
innodb_ft_num_word_optimize選項來指定要更新搜尋索引中的單字數
,並執行一系列OPTIMIZE TABLE語句
直到搜尋索引完全更新。
刪除 MyISAM 或 ARCHIVE 表的大部分內容,或對具有可變長度行
的 MyISAM 或 ARCHIVE 表(具有 VARCHAR、VARBINARY、BLOB 或 TEXT 列的表)進行未使用的空間並對資料檔案進行碎片整理。在表格進行大量更改
後,此語句還可以提高使用該表的語句
的效能,有時甚至會顯著提高。
回覆0