亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python批量刪除mysql中千萬級大量數據

系統 2060 0

場景描述

線上 mysql 數據庫里面有張表保存有每天的統計結果,每天有1千多萬條,這是我們意想不到的,統計結果咋有這么多。運維找過來,磁盤占了 200G ,最后問了運營,可以只保留最近3天的,前面的數據,只能刪了。刪,怎么刪?
因為這是線上數據庫,里面存放有很多其它數據表,如果直接刪除這張表的數據,肯定不行,可能會對其它表有影響。嘗試每次只刪除一天的數據,還是卡頓的厲害,沒辦法,寫個Python腳本批量刪除吧。
具體思路是:

  1. 每次只刪除一天的數據;
  2. 刪除一天的數據,每次刪除50000條;
  3. 一天的數據刪除完,開始刪除下一天的數據;

Python代碼

          
            # -*-coding:utf-8 -*-

import sys

# 這是我們內部封裝的Python Module
sys.path.append('/var/lib/hadoop-hdfs/scripts/python_module2')
import keguang.commons as commons
import keguang.timedef as timedef
import keguang.sql.mysqlclient as mysql


def run(starttime, endtime, regx):
    tb_name = 'statistic_ad_image_final_count'
    days = timedef.getDays(starttime,endtime,regx)
    # 遍歷刪除所有天的數據
    for day in days:
        print '%s 數據刪除開始'%(day)
        mclient = getConn()
        sql = '''
        select 1 from %s where date = '%s' limit 1
        '''%(tb_name, day)
        print sql
        result = mclient.query(sql)
        # 如果查詢到了這一天的數據,繼續刪除
        while result is not ():
            sql = 'delete from %s where date = "%s" limit 50000'%(tb_name, day)
            print sql
            mclient.execute(sql)
            sql = '''
            select 1 from %s where date = '%s' limit 1
            '''%(tb_name, day)
            print sql
            result = mclient.query(sql)
        print '%s 數據刪除完成'%(day)
        mclient.close()


# 返回mysql 連接
def getConn():
    return mysql.MysqlClient(host = '0.0.0.0', user = 'test', passwd = 'test', db= 'statistic')

if __name__ == '__main__':
    regx = '%Y-%m-%d'
    yesday = timedef.getYes(regx, -1)
    starttime = '2019-08-17'
    endtime ='2019-08-30'
    run(starttime, endtime, regx)
          
        

循環判斷數據,如果有,繼續刪除當天 50000 條數據;否則,開始刪除下一天的數據。花了半個小時,終于刪除完了。


歡迎關注我的微信公眾號
Python批量刪除mysql中千萬級大量數據_第1張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲第一毛片 | 麻豆国产精品高中生视频 | 亚洲人成一区二区不卡 | 日日夜夜天天干 | 精品欧美一区二区三区在线 | 国产中文字幕在线观看 | 看全色黄大色黄大片色责看的 | 久久这| 小香蕉影院 | 国产精品国产精品国产专区不卡 | 九九热在线视频免费观看 | 国内精品伊人久久久影院 | 四虎在线观看网址 | 美利坚永久精品视频在线观看 | 视频在线观看入口一二三2021 | 国内精品伊人久久大香线焦 | 色综合亚洲欧美在线 | 中国国产一国产一级毛片视频 | 91精品国产综合成人 | 四虎4hu影库永久地址 | 番茄视频在线观看黄版本免费 | 99久久网| 久久久久久噜噜噜久久久精品 | 中文字幕久热精品视频免费 | 欧美福利精品福利视频在线观看 | 国产成人欧美 | 妇女网站爱嘿嘿视频免费观看 | 成人性视频网站 | 欧美成人久久久 | 日日摸天天摸狠狠摸视频 | 婷婷夜夜躁天天躁人人躁 | 尹人香蕉 | 奇米影视在线视频8888 | 亚洲 在线播放 | 国产香蕉免费精品视频 | 69视频在线观看福利视频 | 国产ww久久久久久久久久 | 高清色视频 | 天天射夜夜骑 | 日韩亚洲成a人片在线观看 日韩亚洲第一页 | 二级毛片全部 |