当前位置: 首页 > news >正文

做草坪绿化网站今日十大新闻

做草坪绿化网站,今日十大新闻,wordpress xss,今日最新军事要闻文章目录 错误一错误原因解决方案 错误二原因解决方案 我自己知道的,这类问题有两类原因,两种解决方案。 错误一 错误原因 pymysql的主进程启动的connect无法给子进程中使用,所以读取大批量数据时最后容易出现了此类问题。 解决方案 换成…

文章目录

  • 错误一
    • 错误原因
    • 解决方案
  • 错误二
    • 原因
    • 解决方案

我自己知道的,这类问题有两类原因,两种解决方案。

错误一

错误原因

pymysql的主进程启动的connect无法给子进程中使用,所以读取大批量数据时最后容易出现了此类问题。

解决方案

换成pymysql-pool可以解决方法:
具体如下:

pip install pymysql-pool

代码如下:

import pymysql
import pymysqlpooldef select_ebay_catelotory():config={'host': HOST, 'user': USER, 'password': PASSWD, 'database': DB, 'autocommit':True}pool1 = pymysqlpool.ConnectionPool(size=10, maxsize=20, pre_create_num=2, name='pool1', **config)con1 = pool1.get_connection()gcu = con1.cursor()try:gcu.execute(f"""SELECT *** """)# 获取剩余结果所有数据rows = gcu.fetchall()except Exception as e:print(e)finally:# gcu.close()con1.close()return rows

错误二

原因

要读取的内容太大了。有两类:某列太长了,总行数太多了。

如何确定?
你的代码读取100行没问题,1000行也没问题,10000行也没问题,100万行就有问题了。那就是这个原因。

解决方案

不要limit去读,太费时间:先取id,再用id去分批读取数据。

import pymysql
import pymysqlpooldef select_all_ids():config={'host': HOST, 'user': USER, 'password': PASSWD, 'database': DB, 'autocommit':True}pool1 = pymysqlpool.ConnectionPool(size=35, maxsize=35, pre_create_num=2, name='pool1', **config)con1 = pool1.get_connection()gcu = con1.cursor()try:gcu.execute(f"""SELECT `id` FROM sfc_minesweeper.product_detail WHERE create_time>'2024-07-10' AND CHAR_LENGTH(result_data)>500""")# 获取剩余结果所有数据rows = gcu.fetchall()except Exception as e:print(e)finally:# gcu.close()con1.close()return rowsdef select_ebay_catelotory(pids):config={'host': HOST, 'user': USER, 'password': PASSWD, 'database': DB, 'autocommit':True}pool1 = pymysqlpool.ConnectionPool(size=35, maxsize=35, pre_create_num=2, name='pool1', **config)con1 = pool1.get_connection()gcu = con1.cursor()try:gcu.execute(f"""SELECT `id`, `result_data`, `product_offer_id` FROM sfc_minesweeper.product_detail WHERE id in {tuple(pids)}""")# 获取剩余结果所有数据rows = gcu.fetchall()except Exception as e:print(e)finally:# gcu.close()con1.close()return rows# 先拿到所有id
pd_ids = [e[0] for e in select_all_ids()]
# 再分批读取
pd1688s = []
step = 4000
for begin in range(0, len(pd_ids), step):pd1688s.extend([e for e in select_ebay_catelotory(pd_ids[begin:begin+step])])print(i, len(pd1688s))
http://www.tj-hxxt.cn/news/13013.html

相关文章:

  • 晋中建设集团网站对网站提出的优化建议
  • 门户网站重要性免费长尾词挖掘工具
  • 帮别人做app网站门户的兼职网络推广最好的网站有哪些
  • 免费做网站tk百度推广代理
  • 个人网站开发教程百度收录平台
  • 游戏卡充值可以做网站吗市场营销在线课程
  • 网站后台模块广州网页seo排名
  • 网站目录怎么做外链seo优化与品牌官网定制
  • oa办公系统都有哪家临沂seo
  • 做dota2菠菜网站app推广工作是做什么的
  • 网站制作公司 沧州优化营商环境 助推高质量发展
  • 运营的网站域名查询
  • 有经验的合肥网站建设百度网盘下载
  • chci网站建设宁波seo服务快速推广
  • redhat7做网站过程seo是什么意思 为什么要做seo
  • 做网站的公司地址重庆网站关键词排名
  • 做企业网站有效果吗营销是什么意思
  • 潍坊 企业网站建设深圳网络推广公司哪家好
  • 做网站怎么导入地图seo是什么意思广东话
  • 做网站域名费向哪里交百度关键词怎么设置
  • 昭通建设局网站惠州百度推广排名
  • 海外购物网站大全推广平台
  • 上海网站设计费用企业网站营销的优缺点及案例
  • 网站建设的售后服务怎么写刷百度关键词排名
  • 做网站需要什么配置的笔记本优化网站排名技巧
  • 技术支持 英铭网站建设应用商店搜索优化
  • 做电商网站的设计思路有什么站长工具seo综合查询源码
  • 网站建设怎么赚钱要怎么网络做推广
  • 怎么应聘淘宝客服在家兼职优化设计三年级上册答案
  • 苏州网站开发的企业网络营销有哪些形式