亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 13098 | 回復(fù): 14
打印 上一主題 下一主題

【分享】MySQL中rename命令淺析 [復(fù)制鏈接]

論壇徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-07-29 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-12-17 22:19 |只看該作者 |倒序?yàn)g覽
本帖最后由 cenalulu 于 2012-12-20 09:58 編輯

今天遇到的問題:
一個表,大小50G,數(shù)據(jù)3千萬條;
新數(shù)據(jù)插入頻繁,讀取很少;
要保證寫入/查詢的效率,需要清空已經(jīng)存在的數(shù)據(jù).

提議有兩種辦法:
1.truncate
2.rename

最初我認(rèn)為rename是把數(shù)據(jù)copy到臨時表.今天做了如下測試,發(fā)現(xiàn)并非這樣.
測試:
1.在test庫中,有t1,t2表.
2.執(zhí)行
  1. 21:52:37 127.0.0.1:3306 test>rename table t1 to t2;        
  2. ERROR 1050 (42S01): Table 't2' already exists
復(fù)制代碼
3.把t1表刪除,再次執(zhí)行
  1. 21:52:37 127.0.0.1:3306 test>rename table t1 to t2;        
  2. ERROR 1017 (HY000): Can't find file: './test/t1.frm' (errno: 2)
復(fù)制代碼
4.將t1還原,并且把t2刪除,執(zhí)行rename命令,結(jié)果:正確執(zhí)行.
但是查看.frm文件和.ibd文件,都是最新的.

疑問:
rename 操作,如果不涉及任何數(shù)據(jù)的更改,而只是簡單的更改.frm文件,為何也修改了.ibd文件

論壇徽章:
2
摩羯座
日期:2014-05-29 17:38:40數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-05 06:20:00
2 [報告]
發(fā)表于 2012-12-18 17:45 |只看該作者
個人理解rename 的過程:
1.lock table a
2.create table b (同結(jié)構(gòu))
3.insert into b select * from a
4.unlock and drop table a

論壇徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-07-29 06:20:00
3 [報告]
發(fā)表于 2012-12-18 20:35 |只看該作者
回復(fù) 2# devilkin0312

不是這個過程.應(yīng)該沒有數(shù)據(jù)導(dǎo)出導(dǎo)入.直接修改.frm文件
   

論壇徽章:
2
摩羯座
日期:2014-05-29 17:38:40數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-05 06:20:00
4 [報告]
發(fā)表于 2012-12-19 12:06 |只看該作者
回復(fù) 3# ning_lianjie


    剛剛用innodb,mysiam測試了下,這個過程確實(shí)沒有復(fù)制數(shù)據(jù)的操作,只是對表相關(guān)文件(.frm,.myd,myi)和元數(shù)據(jù)信息進(jìn)行修改。

論壇徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-07-29 06:20:00
5 [報告]
發(fā)表于 2012-12-19 15:00 |只看該作者
回復(fù) 4# devilkin0312

對于大表的清理工作.為了不影響新數(shù)據(jù)寫入.可以用rename來替換truncate命令.

   

論壇徽章:
9
每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2016-03-07 16:30:25
6 [報告]
發(fā)表于 2012-12-20 09:59 |只看該作者
所以production的大表變更也是這么做的。
pt-online-schema-change 用的也是這個原理

論壇徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-07-29 06:20:00
7 [報告]
發(fā)表于 2012-12-20 14:44 |只看該作者
回復(fù) 6# cenalulu

對了,請教個問題,上T的表,進(jìn)行備份有沒有好的方式.
有沒有熱備,但是不會太占資源的工具,時間長點(diǎn)無所謂.
   

論壇徽章:
9
每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2016-03-07 16:30:25
8 [報告]
發(fā)表于 2012-12-20 15:01 |只看該作者
回復(fù) 7# ning_lianjie

用物理備份 xtrabackup 加上 io-throttle 參數(shù)控制對磁盤的占用
   

論壇徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-07-29 06:20:00
9 [報告]
發(fā)表于 2012-12-20 15:43 |只看該作者
回復(fù) 8# cenalulu
3q ,去測試一下,看看效果.

   

論壇徽章:
0
10 [報告]
發(fā)表于 2012-12-20 17:38 |只看該作者
回復(fù) 4# devilkin0312

UP!
看源碼中也是直接對數(shù)據(jù)文件直接重命名,而不是insert


   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP