mysql索引 - MySQL:索引是否需要整理維護(hù)?
問題描述
每月定期需要對數(shù)據(jù)進(jìn)行大量的刪除操作,想請教這樣操作后對索引是否有影響,是否需要在刪除操作完成后對索引進(jìn)行更新之類的操作
如果需要的話這方面的內(nèi)容搜索哪些關(guān)鍵字呢?
問題解答
回答1:可以使用OPTIMIZE定期優(yōu)化表,每個(gè)星期或者每個(gè)月一次,具體可以參考下面鏈接http://dev.mysql.com/doc/refm...
摘自官網(wǎng)的描述
Use OPTIMIZE TABLE in these cases, depending on the type of table:
After doing substantial insert, update, or delete operations on anInnoDB table that has its own .ibd file because it was created withthe innodb_file_per_table option enabled. The table and indexes arereorganized, and disk space can be reclaimed for use by the operatingsystem.
After doing substantial insert, update, or delete operations oncolumns that are part of a FULLTEXT index in an InnoDB table. Set theconfiguration option innodb_optimize_fulltext_only=1 first. To keepthe index maintenance period to a reasonable time, set theinnodb_ft_num_word_optimize option to specify how many words to updatein the search index, and run a sequence of OPTIMIZE TABLE statementsuntil the search index is fully updated.
After deleting a large part of a MyISAM or ARCHIVE table, or makingmany changes to a MyISAM or ARCHIVE table with variable-length rows(tables that have VARCHAR, VARBINARY, BLOB, or TEXT columns). Deletedrows are maintained in a linked list and subsequent INSERT operationsreuse old row positions. You can use OPTIMIZE TABLE to reclaim theunused space and to defragment the data file. After extensive changesto a table, this statement may also improve performance of statementsthat use the table, sometimes significantly.
相關(guān)文章:
1. 老哥們求助啊2. tp6表單令牌3. django - 后臺返回的json數(shù)據(jù)經(jīng)過Base64加密,獲取時(shí)用python如何解密~!4. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?5. 我的html頁面一提交,網(wǎng)頁便顯示出了我的php代碼,求問是什么原因?6. docker 17.03 怎么配置 registry mirror ?7. node.js - node 客戶端socket一直報(bào)錯(cuò)Error: read ECONNRESET,用php的socket沒問題哈。。8. node.js - nodejs中把熱request保存下來,使用JSON.stringify(req)報(bào)錯(cuò),請問怎么解決?9. javascript - canvas 可以實(shí)現(xiàn) PS 魔法橡皮擦的功能嗎?10. angular.js - 如何通俗易懂的解釋“依賴注入”?
