mysql索引 - MySQL:索引是否需要整理维护?
高洛峰
高洛峰 2017-04-17 16:12:39
0
1
661

每月定期需要对数据进行大量的删除操作,想请教这样操作后对索引是否有影响,是否需要在删除操作完成后对索引进行更新之类的操作

如果需要的话这方面的内容搜索哪些关键字呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(1)
大家讲道理

可以使用OPTIMIZE定期優化表,每週或每月一次,具體可以參考下面連結
http://dev.mysql.com/doc/refm...

摘自官網的描述

在這些情況下使用 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 來回收

未使用的空間並對資料檔案進行碎片整理。在表格進行大量更改
後,此語句還可以提高使用該表的語句
的效能,有時甚至會顯著提高。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板