2019独角兽企业重金招聘Python工程师标准>>>

1、需要频繁select大量数据,时间长、消耗内存大,如何解决mysql性能问题?

如果对返回的结果数量没有要求,可以控制返回的数量:

cursor.fetchmany(size=1000)

这样是只返回1000条数据,如果返回的结果小于size,则返回所有数据;

如果你只需要一条,则更简单:fetchone()

2、每次插入的数据过大,MySQL server has gone away 如何解决?

存储为blob类型;

修改my.conf里:max_allowed_packet = 500m

3、要把python的list类型存入mysql,然后下次还需要以list格式读取,如何操作?

因为list类型里包含半角的逗号,或插入的数据里包含特殊符号,则不能正常插入mysql。

Google里有很多方法,我采取的是base64。将要插入的数据base64 encode可以正常存入Mysql。

base64str = base64.b64encode(str(mysqlstr))

mysqlstr = base64.b64decode(b64str)

注意:当你读取的时候,需要base64decode,这时得到的是str,则不能正常使用list序列取值。怎么办?

eval(string)

如上操作,eval可以很好的解决这个问题,把str变成tuple,就可以直接用了。

4、频繁操作Mysql更删查数据时,最好采用多线程操作数据库,避免因为my.conf配置问题带来的麻烦。

下面是一个Mysql多线程操作类:

 1 class MYSQL:
 2     def __init__(self,sql):
 3         self.sql = sql
 4         self.conn = MySQLdb.connect(charset='utf8',user='yourname',passwd='passwd',db='your dbname')
 5         self.cursor = self.conn.cursor()
 6
 7     def insert(self):
 8         self.cursor.execute(self.sql)
 9         self.conn.commit()
10         self.cursor.close()
11         self.conn.close()
12         return True
13
14     def select(self):
15         self.cursor.execute(self.sql)
16         alldata = self.cursor.fetchall()
17         self.cursor.close()
18         self.conn.close()
19         return alldata
20
21     def update(self):
22         self.cursor.execute(self.sql)
23         self.conn.commit()
24         self.cursor.close()
25         self.conn.close()
26         return True

转载于:https://my.oschina.net/u/2254175/blog/369519

Python 频繁读取Mysql相关问题相关推荐

  1. python读取mysql中表内数据_Python读取MySQL表数据的方法介绍

    这篇文章主要为大家详细介绍了Python如何读取MySQL数据库表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参 ...

  2. mysql讀取sql_MySQL数据库之python json及mysql读取json文件存sql等问题

    本文主要向大家介绍了MySQL数据库之python json及mysql读取json文件存sql等问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. preface: 近期帮师 ...

  3. mysql source导入_读取MySQL数据库中的数据【Python数据分析百例连载】

    当所需的数据存贮在MySQL数据库中时,那么数据分析首要任务就是要通过Pandas读取MySQL数据.例如,某网站注册用户信息保存在MySQL数据库中,如图所示(部分数据),下面将使用Pandas的r ...

  4. python读取mysql中的数据_Python笔记:用Python读取MySQL中的数据

    Python处理数据分析的优势,很多人都知道(可以实现更复杂.更灵活的操作,包括数据预处理.数据可视化输出等),但是加载到Python中的数据,只是临时存储在内存中的一张虚拟表(退出之后就会被释放掉了 ...

  5. python读取mysql数据_如何将mysql的数据读取python

    展开全部 本文实例为大家2113分享了Python读取MySQL数据库表数据的具体代码,5261供大家参考,具体内容4102如下 环境:Python 3.6 ,Window 64bit 目的:1653 ...

  6. python读取mysql以html形式输出_python实现处理mysql结果输出方式

    在运维过程中,经常需要读取mysql的结果输出并进行响应的处理,这节介绍如何用Python读取mysql结果表并进行相应的整理. 进行mysql结果文件输出: mysql -h10.20.10.207 ...

  7. python多线程读取数据库数据_Python基于多线程操作数据库相关知识点详解

    Python基于多线程操作数据库相关问题分析 本文实例分析了Python多线程操作数据库相关问题.分享给大家供大家参考,具体如下: python多线程并发操作数据库,会存在链接数据库超时.数据库连接丢 ...

  8. python提取数据库数据_Python如何读取MySQL数据库表数据

    本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 ...

  9. 华南农业大学Linux课程综合实验-超详细版(实现用Go、nodejs、python、php读取mysql数据)

    文章目录 一.准备工作 1. 领取阿里云服务器 2. 服务器初始设置 2.1 设置实例密码 2.1.1 找不到控制台页面 2.2 远程登录云服务器 2.3 修改云服务器密码 2.4 实现自动远程连接 ...

最新文章

  1. html5音轨字幕,(图解)如何修改mkv默认音轨和字幕
  2. ITSM为人服务,还是人为ITSM服务?
  3. Sending HTML content in an email using PHP
  4. 32个机械动图,揭秘生活中制造原理
  5. Redis:Big Key问题
  6. 滚动页面一定距离后固定导航条
  7. linux查看网卡吞吐量和网卡流量用自带命令,iptraf查看。
  8. J2ME-CLDC/MIDP资源
  9. mysql计算两个月份之间的差值_MySQL如何获取两个年份月份信息中相差的月份(PERIOD_DIFF函数)呢?...
  10. java word_java输出word解决方案
  11. php刷屏代码,PHP防止刷屏
  12. 马哥python课堂笔记_马哥教育PYTHON相关基础 笔记
  13. 动词变名词的变化规则_英语单词词性转换规则大全
  14. xyz坐标转换ybc_经纬度转换XYZ
  15. multiprocessing.Pool(pool.map pool.apply pool.apply_async poo.map_async)
  16. 微信支付查询订单V2 接口
  17. CKEditor 修改编辑器 字体大小和行高
  18. Beyond Compare 4.2.10 zhuce
  19. centos安装mysql以及mysql-devel
  20. Swagger 注解使用

热门文章

  1. 服务器能进安全模式进不去系统,远程服务器怎么进安全模式
  2. linux串口拼接,Linux下串口操作之數據拼接
  3. ieda中快捷搜索_IntelliJ IDEA IDE设置系列教程(十):在工具窗口中快速搜索
  4. 【Python 2.x和Python 3.x版本有什么区别】
  5. Pycharm回退操作+常用批量操作
  6. Vivado如何计算关键路径的建立时间裕量?(理论分析篇)
  7. 6.18docker(一)Compose 模板文件
  8. GLOBAL TEMPORARY TABLE
  9. 逻辑回归损失函数(cost function)
  10. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)