亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

mysql - 數(shù)據(jù)庫插入頻繁導(dǎo)致數(shù)據(jù)丟失

瀏覽:83日期:2022-06-20 08:54:51

問題描述

插入語句有兩條,循環(huán)插入這兩條只是簡單寫了下插入語句,沒有捕捉到異常

def process_item(self, item, spider):#print(item)try: with self.connection.cursor() as cursor:#Create a new recordsql1 = 'INSERT INTO staff (XNXQ, department, teacher, gender, title, note1, note2) VALUES (%s, %s, %s, %s, %s, %s, %s)'cursor.execute(sql1, (item[’first’][’XNXQ’], item[’first’][’department’], item[’first’][’teacher’], item[’first’][’gender’], item[’first’][’title’], item[’first’][’note1’], item[’first’][’note2’]))self.connection.commit()#Create a new recordcursor.execute('select max(id) from staff')teacherId = cursor.fetchone()[’max(id)’]print(’teacherId:’ + str(teacherId))print(item[’second’]) sql2 = 'INSERT INTO staffCourse (teacherId, snum, course, credit, teachWay, courseType, classNum, className, stuNum, week, section, location) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)'cursor.execute(sql2, (teacherId, item[’second’][’snum’], item[’second’][’course’], item[’second’][’credit’], item[’second’][’teachWay’], item[’second’][’courseType’], item[’second’][’classNum’], item[’second’][’className’], item[’second’][’stuNum’], item[’second’][’week’], item[’second’][’section’], item[’second’][’location’]))self.connection.commit()except Exception as e: print(’------------------------------------------’) print(e)

查看數(shù)據(jù)庫時(shí),發(fā)現(xiàn)少了很多,我猜應(yīng)該是頻繁插入導(dǎo)致數(shù)據(jù)丟失的,因?yàn)槲以诓迦霐?shù)據(jù)庫之前把數(shù)據(jù)print了一下,沒少。怎么解決這個(gè)問題?

問題解答

回答1:

你是不是一次性循環(huán)了很多次啊如果我沒記錯(cuò)的話。數(shù)據(jù)庫有個(gè)隊(duì)列緩存的,如果一下子塞入太多數(shù)據(jù)占滿了緩存,就會(huì)產(chǎn)生丟失的現(xiàn)象如果有大量數(shù)據(jù)要插入的話,就要自己實(shí)現(xiàn)隊(duì)列,然后定時(shí)插入

或者試試事務(wù)

回答2:

由于看不懂python語法,僅從sql的角度來提供2種解決方法:1、用事務(wù)的方式去進(jìn)行寫入數(shù)據(jù),每1000條數(shù)據(jù)提交一次,例如:

fake code

for data.size BEGINfor 1000 INSERT INTO ...end COMMITend

2、將sql改成批量寫入,性能有不少提高

INSERT INTO (...)VALUES (...),(...),(...),(...);回答3:

可以看下數(shù)據(jù)庫日志,看下執(zhí)行記錄。

回答4:

你雖然代碼里面寫了insert之后,commit。但是在什么時(shí)候提交,是在你的項(xiàng)目中的事務(wù)中控制的,而不是你在這里控制的,項(xiàng)目中可能從切面做了事務(wù)的控制。解決方案:1.分頁插,配置事務(wù),不要一次性插入,分批插入,分批commit數(shù)據(jù)。

相關(guān)文章:
主站蜘蛛池模板: 欧美换爱交换乱理伦片免费观看 | 黄色免费一级 | 在线观看麻豆国产精品 | 欧美一级毛片国产一级毛片 | a免费国产一级特黄aa大 | 国产激烈无遮挡免费床戏视频 | 免费xxxxx大片在线观看影视 | 色国产精品一区在线观看 | a极毛片| 国产精品亚洲欧美一区麻豆 | 欧美一级特黄视频 | 久久国产首页 | 免费一级毛片麻豆精品 | 久久成人免费大片 | 亚洲免费在线 | 中国免费一级毛片 | 久在线精品视频 | 黄录像欧美片在线观看 | 国产99久久精品一区二区 | 亚洲岛国片 | 亚洲狼人香蕉香蕉在线28 | 久久不射网站 | 欧洲男女啪啪免费观看 | 国产一区二区三区播放 | 青青青视频精品中文字幕 | 91精品乱码一区二区三区 | 中文无码日韩欧 | 黄网址大全免费观看免费 | 97影院午夜午夜伦不卡 | 国产午夜不卡在线观看视频666 | 亚洲欧美精品一区 | 国产成人精品cao在线 | 日韩精品亚洲一级在线观看 | 色播视频在线观看免费 | 亚洲国产精品欧美日韩一区二区 | 扒开双腿猛进入jk校视频 | 日韩电影中文字幕 | 亚洲国产一区二区在线 | 国产凹凸在线观看一区二区 | 日本三级韩国三级三级a级按摩 | 香蕉依依精品视频在线播放 |