问题分析探讨 -- 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死...
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
?
Sun?shine 18:10:58沒有?,準備建立個索引 黃杉() 18:11:42
那要建個索引的,不然會很慢的 總結:? 這種查詢慢鎖表第一問就應該咨詢where后面的time字段有無建索引,是自己疏忽了.有些開發人員的db水平不是很強,我們要想到這一點.
?
?
總結
以上是生活随笔為你收集整理的问题分析探讨 -- 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HBase中文文档
- 下一篇: Java学习笔记(1)——基本数据类型