有一個表有上千W數據, 用什么方法給這個表加一個字段最快?1. alert2. 建一個表和第一個表一樣,只是多了要加的字段,然后用多個INSERT INTO SELECT語句limit寫入3. 就是導出多個文件,然后用loadfile4. 其它? 試過2.5KW數據, alert要156m ...
整理這篇文章的緣由: 互聯網應用會頻繁加功能,修改需求。那么表結構也會經常修改,加字段,加索引。在線直接在生產環境的表中修改表結構,對用戶使用網站是有影響。 以前我一直為這個問題頭痛。當然那個時候不需要我來考慮,雖然我們沒專門的dba,他們數據量比我們更大,那這種問題也會存在。所以我很想看看業界是怎么做的,我想尋找有沒有更高級的方案,呵呵,讓我覺得每次開發一個新功能,我在線加字段都比較糾結。后來只 ...
2014-01-03 23:43 3 41505 推薦指數:
有一個表有上千W數據, 用什么方法給這個表加一個字段最快?1. alert2. 建一個表和第一個表一樣,只是多了要加的字段,然后用多個INSERT INTO SELECT語句limit寫入3. 就是導出多個文件,然后用loadfile4. 其它? 試過2.5KW數據, alert要156m ...
前言: 在系統正常運作一定時間后,隨着市場、產品汪的需求不斷變更,比較大的一些表結構面臨不得不增加字段的方式來擴充滿足業務需求; 而 MySQL 在體量上了千萬、億級別數據的時候,Alter Table 的操作,可以讓你等一天,而且在高峰期執行這種 SQL 讓你的數據庫也承擔着壓力 ...
當需要對表進行ddl操作如加索引、增刪列時,數據量小時直接在線修改表結構影響不大當表達到百萬、千萬數據就不能直接在線修改表結構下面是具體的過程:1、備份數據select * from ih_order into outfile '/bak/order.txt';mysql> select ...
昨天跟同事聊起數據表性能的問題,能不能僅用覆蓋索引實現數據的匯總統計。找了一個開發環境已有的數據表進行測試,通過explain命令,能看到mysql通過覆蓋索引就能實現sum的需求,而無須去讀取實際行數據。 但開發環境數據量太小,對執行時間的優化,沒有直觀感受,於是決定做一個數據量能到千萬級 ...
當MySQL單表記錄數過大時,增刪改查性能都會急劇下降,可以參考以下步驟來優化: 單表優化 除非單表數據未來會一直不斷上漲,否則不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各種復雜度,一般以整型值為主的表在千萬級以下,字符串為主的表在五百萬以下是沒有太大問題的。而事實上很多時候MySQL ...
工作上會經常遇到量級比較大的數據表 ;場景: 該數據表需要進行alter操作 比如增加一個字段,減少一個字段. 這個在一個幾萬級別數據量的數據表可以直接進行alter表操作,但是要在一個接近1000W的數據表進行操作,不是一件容易的事;可能情況:1.導致數據庫崩潰或者卡死 2.導致 ...
方案一、老表數據遷移四部曲方案1、新建老表t_order_goods的備份表t_order_goods_bak,同時加一個字段:isVirtual 並給默認值2、遷移老表t_order_goods數據到備份表t_order_goods_bak中3、刪除老表t_order_goods4、新命名備份表 ...
前幾天想為大數據表添加字段,出現了 2013 - Lost connection to MySQL server during query 查看數據條數 +-----------+| count(id) |+-----------+| 6367286 |+-----------+ 重啟機器 ...