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

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備