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

解決python讀取幾千萬(wàn)行的大表內(nèi)存問(wèn)題

 更新時(shí)間:2018年06月26日 08:54:49   作者:Lucky-zhou  
今天小編就為大家分享一篇解決python讀取幾千萬(wàn)行的大表內(nèi)存問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Python導(dǎo)數(shù)據(jù)的時(shí)候,需要在一個(gè)大表上讀取很大的結(jié)果集。

如果用傳統(tǒng)的方法,Python的內(nèi)存會(huì)爆掉,傳統(tǒng)的讀取方式默認(rèn)在內(nèi)存里緩存下所有行然后再處理,內(nèi)存容易溢出

解決的方法:

1)使用SSCursor(流式游標(biāo)),避免客戶(hù)端占用大量?jī)?nèi)存。(這個(gè)cursor實(shí)際上沒(méi)有緩存下來(lái)任何數(shù)據(jù),它不會(huì)讀取所有所有到內(nèi)存中,它的做法是從儲(chǔ)存塊中讀取記錄,并且一條一條返回給你。)

2)使用迭代器而不用fetchall,即省內(nèi)存又能很快拿到數(shù)據(jù)。

import MySQLdb.cursors

conn = MySQLdb.connect(host='ip地址', user='用戶(hù)名', passwd='密碼', db='數(shù)據(jù)庫(kù)名', port=3306,
   charset='utf8', cursorclass = MySQLdb.cursors.SSCursor)
cur = conn.cursor()
cur.execute("SELECT * FROM bigtable");
row = cur.fetchone()
while row is not None:
 do something
 row = cur.fetchone()

cur.close()
conn.close()

需要注意的是,

1、因?yàn)镾SCursor是沒(méi)有緩存的游標(biāo),結(jié)果集只要沒(méi)取完,這個(gè)conn是不能再處理別的sql,包括另外生成一個(gè)cursor也不行的。

如果需要干別的,請(qǐng)另外再生成一個(gè)連接對(duì)象。

2、 每次讀取后處理數(shù)據(jù)要快,不能超過(guò)60s,否則mysql將會(huì)斷開(kāi)這次連接,也可以修改 SET NET_WRITE_TIMEOUT = xx 來(lái)增加超時(shí)間隔。

以上這篇解決python讀取幾千萬(wàn)行的大表內(nèi)存問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?中enum的使用方法總結(jié)

    Python?中enum的使用方法總結(jié)

    這篇文章主要介紹了Python?中enum的使用方法總結(jié),枚舉在許多編程語(yǔ)言中常被表示為一種基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)使用,下文更多詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • Pandas技巧分享之創(chuàng)建測(cè)試數(shù)據(jù)

    Pandas技巧分享之創(chuàng)建測(cè)試數(shù)據(jù)

    學(xué)習(xí)pandas的過(guò)程中,為了嘗試pandas提供的各類(lèi)功能強(qiáng)大的函數(shù),常常需要花費(fèi)很多時(shí)間去創(chuàng)造測(cè)試數(shù)據(jù),本篇介紹了一些快速創(chuàng)建測(cè)試數(shù)據(jù)的方法,需要的可以參考一下
    2023-07-07
  • Python bisect_left 函數(shù)使用場(chǎng)景詳解

    Python bisect_left 函數(shù)使用場(chǎng)景詳解

    在Python的編程世界中,數(shù)據(jù)處理和搜索操作是非常常見(jiàn)的任務(wù),bisect_left函數(shù)是Python標(biāo)準(zhǔn)庫(kù)bisect模塊中的一個(gè)強(qiáng)大工具,接下來(lái),我們將詳細(xì)探討bisect_left函數(shù)的使用場(chǎng)景,需要的朋友可以參考下
    2024-11-11
  • flask框架渲染Jinja模板與傳入模板變量操作詳解

    flask框架渲染Jinja模板與傳入模板變量操作詳解

    這篇文章主要介紹了flask框架渲染Jinja模板與傳入模板變量操作,結(jié)合實(shí)例形式詳細(xì)分析了flask框架模板相關(guān)原理、模板渲染、傳入?yún)?shù)等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • Python字典fromkeys()方法使用代碼實(shí)例

    Python字典fromkeys()方法使用代碼實(shí)例

    這篇文章主要介紹了Python字典fromkeys()方法使用代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 2021年最新版Python安裝及使用教學(xué)

    2021年最新版Python安裝及使用教學(xué)

    今天帶大家學(xué)習(xí)的是Python的相關(guān)知識(shí),文章圍繞著Python的安裝及使用展開(kāi),文中有非常詳細(xì)的圖文示例及介紹,需要的朋友可以參考下
    2021-06-06
  • Python自動(dòng)化測(cè)試筆試面試題精選

    Python自動(dòng)化測(cè)試筆試面試題精選

    在本篇文章里小編給大家整理的是一篇關(guān)于Python自動(dòng)化測(cè)試筆試面試時(shí)常見(jiàn)的編程題,需要的朋友們可以學(xué)習(xí)參考下。
    2020-03-03
  • Django 拆分model和view的實(shí)現(xiàn)方法

    Django 拆分model和view的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Django 拆分model和view的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python數(shù)據(jù)挖掘Pandas詳解

    Python數(shù)據(jù)挖掘Pandas詳解

    這篇文章主要介紹了Python數(shù)據(jù)挖掘Pandas,pandas是基于numpy模塊構(gòu)建的,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • python中numpy.empty()函數(shù)實(shí)例講解

    python中numpy.empty()函數(shù)實(shí)例講解

    在本篇文章里小編給大家分享的是一篇關(guān)于python中numpy.empty()函數(shù)實(shí)例講解內(nèi)容,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02

最新評(píng)論

荆门市| 肇庆市| 南澳县| 易门县| 嫩江县| 宿迁市| 汨罗市| 新密市| 南部县| 金堂县| 攀枝花市| 青神县| 定结县| 丁青县| 潼关县| 咸阳市| 兴安县| 三台县| 大庆市| 乌海市| 工布江达县| 东乌珠穆沁旗| 库伦旗| 江川县| 乌拉特中旗| 沙洋县| 土默特右旗| 正蓝旗| 西林县| 平谷区| 万源市| 梅河口市| 渭源县| 新兴县| 台南县| 咸宁市| 道真| 韶关市| 安西县| 阳城县| 彭泽县|