国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql復制中臨時表的運用技巧

2024-07-24 13:01:51
字體:
來源:轉載
供稿:網友
我們知道,臨時表有以下特性:
1. SESSION 級別,SESSION 一旦斷掉,就被自動DROP 了。
2. 和默認引擎有關。如果默認引擎是INNODB,而你又瘋狂的使用臨時表。那么,你的IBDATA會被無限的增大。
3. 和磁盤表一樣,默認寫入到binlog, 而且被動的加入了rollback 計劃。

幻想如下場景:
數據庫損壞,也沒有備份。剛好二進制日志全部保存完好,幸福了。導入二進制日志到MYSQL。

有兩種方法:
1) mysqlbinlog ..... *.log | mysql dbname; 這種利用管道直接恢復數據,時間短,效率高。 可里面如果有一堆的臨時表,而且剛好在日志的中間,那么悲劇了, 導入失敗。 (回想臨時表的特性就知道了。)
2) mysqlbinlog ..... *.log > result.log;mysql dbname < result.log; 這種時間長,效率低,占用磁盤空間高,浪費多次系統資源。 可是導入成功了。

如果有大量的臨時表應用, 那么在主從復制中,應該采取的正確方法為: (這個我可是08年就說過了。)
在寫數據時,當然這里只的是主機。 無論在應用程序或者自己用客戶端對MYSQL來進行管理,都應該這樣:

復制代碼 代碼如下:


[sql]
SET SQL_LOG_BIN=0;
關掉SESSION級別的復制。
update tmp_t1, tmp_t2 set ....;
drop tmp_t1;
drop tmp_t2;
SET SQL_LOG_BIN=1;


打開SESSION級別的復制。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 咸宁市| 惠来县| 壶关县| 肃南| 南丹县| 安康市| 鄂托克前旗| 怀来县| 泰顺县| 邓州市| 罗山县| 德化县| 新河县| 山阳县| 方城县| 报价| 灵宝市| 恭城| 东安县| 垣曲县| 柳州市| 敦化市| 哈尔滨市| 庆云县| 凭祥市| 万宁市| 正宁县| 游戏| 八宿县| 彭阳县| 苗栗市| 普兰县| 茶陵县| 县级市| 海城市| 九龙县| 井研县| 贡觉县| 武冈市| 江安县| 清镇市|