最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python批量刪除mysql中千萬級大量數(shù)據(jù)的腳本分享

 更新時間:2020年12月03日 15:03:28   作者:柯廣  
這篇文章主要介紹了Python批量刪除mysql中千萬級大量數(shù)據(jù)的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

場景描述

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

  • 每次只刪除一天的數(shù)據(jù);
  • 刪除一天的數(shù)據(jù),每次刪除50000條;
  • 一天的數(shù)據(jù)刪除完,開始刪除下一天的數(shù)據(jù);

Python代碼

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

import sys

# 這是我們內(nèi)部封裝的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)
 # 遍歷刪除所有天的數(shù)據(jù)
 for day in days:
  print '%s 數(shù)據(jù)刪除開始'%(day)
  mclient = getConn()
  sql = '''
  select 1 from %s where date = '%s' limit 1
  '''%(tb_name, day)
  print sql
  result = mclient.query(sql)
  # 如果查詢到了這一天的數(shù)據(jù),繼續(xù)刪除
  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 數(shù)據(jù)刪除完成'%(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)

以上就是Python批量刪除mysql中千萬級大量數(shù)據(jù)的腳本的詳細內(nèi)容,更多關于python 刪除MySQL數(shù)據(jù)的資料請關注腳本之家其它相關文章!

相關文章

  • Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表的定義與使用方法示例

    Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表的定義與使用方法示例

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表的定義與使用方法,結(jié)合實例形式分析了Python雙向鏈表的概念、原理、使用方法及相關注意事項,需要的朋友可以參考下
    2018-01-01
  • Jinja2實現(xiàn)模板渲染與訪問對象屬性流程詳解

    Jinja2實現(xiàn)模板渲染與訪問對象屬性流程詳解

    要了解jinja2,那么需要先理解模板的概念。模板在Python的web開發(fā)中廣泛使用,它能夠有效的將業(yè)務邏輯和頁面邏輯分開,使代碼可讀性增強,并且更加容易理解和維護。模板簡單來說就是一個其中包含占位變量表示動態(tài)部分的文,模板文件在經(jīng)過動態(tài)賦值后,返回給用戶
    2023-03-03
  • Python數(shù)組與列表的區(qū)別解析

    Python數(shù)組與列表的區(qū)別解析

    列表因為其存儲的類型可以是任何對象,因此列表的用處更廣泛,更多樣化,并且列表可以有更多的存儲空間去使用,而數(shù)組使用的空間就相對較少,這篇文章主要介紹了Python數(shù)組與列表的區(qū)別,需要的朋友可以參考下
    2023-11-11
  • python函數(shù)與方法的區(qū)別總結(jié)

    python函數(shù)與方法的區(qū)別總結(jié)

    在本篇文章里小編給大家整理了關于python函數(shù)與方法的區(qū)別的相關知識點代碼內(nèi)容,需要的朋友們學習下。
    2019-06-06
  • python文件處理--文件讀寫詳解

    python文件處理--文件讀寫詳解

    這篇文章主要介紹了Python 處理文件的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • python進程管理工具supervisor的安裝與使用教程

    python進程管理工具supervisor的安裝與使用教程

    supervisor是用python寫的一個進程管理工具,用來啟動,重啟,關閉進程。下面這篇文章主要給大家介紹了關于python實現(xiàn)的進程管理工具supervisor的安裝與使用的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • python畫圖--輸出指定像素點的顏色值方法

    python畫圖--輸出指定像素點的顏色值方法

    今天小編就為大家分享一篇python畫圖--輸出指定像素點的顏色值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • OpenCV黑帽運算(BLACKHAT)的使用

    OpenCV黑帽運算(BLACKHAT)的使用

    本文主要介紹了OpenCV黑帽運算(BLACKHAT)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Python寫的貪吃蛇游戲例子

    Python寫的貪吃蛇游戲例子

    這篇文章主要介紹了Python寫的貪吃蛇游戲例子,練手作品,又好玩又可以學到東西,需要的朋友可以參考下
    2014-06-06
  • tensorflow2.0保存和恢復模型3種方法

    tensorflow2.0保存和恢復模型3種方法

    今天小編就為大家分享一篇tensorflow2.0保存和恢復模型3種方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評論

平利县| 土默特右旗| 简阳市| 青神县| 黎平县| 泰和县| 白城市| 商洛市| 和顺县| 开远市| 洛浦县| 龙游县| 德格县| 融水| 松滋市| 兴国县| 望城县| 新兴县| 临漳县| 拜泉县| 桦南县| 汝城县| 张家界市| 班戈县| 河北区| 交城县| 安平县| 莎车县| 谢通门县| 吉木乃县| 涡阳县| 项城市| 垦利县| 蕲春县| 永泰县| 普兰店市| 盖州市| 丰宁| 治多县| 万安县| 六盘水市|