文章詳情頁
mysql - 給千萬數據的表增加索引,不影響使用,怎么處理?
瀏覽:114日期:2022-06-14 18:58:44
問題描述
現有一個表,具有千萬級的數據,且正在使用中,此時想給此表增加索引而不影響使用,要怎么操作
問題解答
回答1:這個需要看你用的mysql版本以及使用的存儲引擎是否是innodbmysql的5.1如果使用innodb插件或者是5.5版本使用innodb引擎有InnoDB Fast Index Creation,對于新建或者刪除二級索引,不用復制表,效率有很大提高,但是只允許讀操作,不允許修改操作。
而5.6版本中引入的innodb-online-ddl,在新建或者刪除二級索引的時候可以并發執行DML語句,除了建索引操作會消耗硬件資源,不影響表的正常使用。
具體方案需要你根據數據庫和存儲引擎的情況來選擇,如果版本滿足,使用online ddl特性可以滿足需求。
回答2:從MySQL 角度本身是完不成這個需求了。因為alter 操作會造成整表鎖操作,或許用一些第三方工具可以完成這個需求吧。
相關文章:
排行榜
