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