問題分析探討 –> 大約有700W資料的表,把當天的10W資料select匯入新表,整個原來的表就鎖死

來源:互聯網
上載者:User

Sun shine  16:15:55
帥哥  我有個手機表 大約有700百資料,,每天新增 大約五萬,並且新也有update 大約10萬  然後 我每晚 把當天的資料select 匯入一個新表中的時候 整個表就鎖死了,  有什麼好的解決方案嗎

黃杉()  17:32:18
你的匯入方式是?
剛才在忙
你的匯入方式或者大概過程是怎麼樣的?

Sun shine  17:43:39
insert  表 a  select * from 表b where time=day

黃杉()  17:49:45
資料量一次性操作太多了
分成N個小的sql試下

Sun shine  17:50:17
每次大約 6萬條

黃杉()  17:50:18
比如, 5分鐘的資料拉一次

Sun shine  17:50:28
好的 我試試。

黃杉()  17:50:39 
每拉一次,間隔5分鐘
做成一個contrab任務

Sun shine  17:51:30
我這邊是直接 程式 jdbc  寫的sql

黃杉()  17:52:27
那就做一個java的quart任務
放到業務最低峰的時候執行。

Sun shine  17:52:49
恩是的,現在是每天匯入一次。

黃杉()  17:53:08
分多次匯入吧,我猜測你們的mysql伺服器配置很低吧

Sun shine  17:53:38
伺服器 是 8g記憶體 4核的。
整個伺服器就放了一台資料庫

黃杉()  17:54:01
好吧,跟我們的個人pc機差不多的配置

Sun shine  17:55:04
是的 比較低。
公司小,一切都得省 得重程式的方面去最佳化。

黃杉()  17:55:55
那麼操作的時候,就每次執行少量的資料,不要太多了,磁碟io,cpu啥以及記憶體啥的消耗少一些
創業型的公司吧
前途大大的
加油

Sun shine  17:56:34
對的,剛創業的公司。
技術人員配的不齊,我們寫程式的 也得搞資料庫。

黃杉()  17:57:15
那以後就是多面手了, cto的候選人

Sun shine  17:58:26
這個 還要很多年的磨練

黃杉()  17:58:44

insert  表 a  select * from 表b where time=day  中, time欄位有索引嗎?

 

Sun shine 18:10:58
沒有 ,準備建立個索引   黃杉() 18:11:42
那要建個索引的,不然會很慢的  總結:  這種查詢慢鎖表第一問就應該諮詢where後面的time欄位有無建索引,是自己疏忽了.有些開發人員的db水平不是很強,我們要想到這一點. 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.