Python 频繁读取Mysql相关问题
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相关问题相关推荐
- python读取mysql中表内数据_Python读取MySQL表数据的方法介绍
这篇文章主要为大家详细介绍了Python如何读取MySQL数据库表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参 ...
- mysql讀取sql_MySQL数据库之python json及mysql读取json文件存sql等问题
本文主要向大家介绍了MySQL数据库之python json及mysql读取json文件存sql等问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. preface: 近期帮师 ...
- mysql source导入_读取MySQL数据库中的数据【Python数据分析百例连载】
当所需的数据存贮在MySQL数据库中时,那么数据分析首要任务就是要通过Pandas读取MySQL数据.例如,某网站注册用户信息保存在MySQL数据库中,如图所示(部分数据),下面将使用Pandas的r ...
- python读取mysql中的数据_Python笔记:用Python读取MySQL中的数据
Python处理数据分析的优势,很多人都知道(可以实现更复杂.更灵活的操作,包括数据预处理.数据可视化输出等),但是加载到Python中的数据,只是临时存储在内存中的一张虚拟表(退出之后就会被释放掉了 ...
- python读取mysql数据_如何将mysql的数据读取python
展开全部 本文实例为大家2113分享了Python读取MySQL数据库表数据的具体代码,5261供大家参考,具体内容4102如下 环境:Python 3.6 ,Window 64bit 目的:1653 ...
- python读取mysql以html形式输出_python实现处理mysql结果输出方式
在运维过程中,经常需要读取mysql的结果输出并进行响应的处理,这节介绍如何用Python读取mysql结果表并进行相应的整理. 进行mysql结果文件输出: mysql -h10.20.10.207 ...
- python多线程读取数据库数据_Python基于多线程操作数据库相关知识点详解
Python基于多线程操作数据库相关问题分析 本文实例分析了Python多线程操作数据库相关问题.分享给大家供大家参考,具体如下: python多线程并发操作数据库,会存在链接数据库超时.数据库连接丢 ...
- python提取数据库数据_Python如何读取MySQL数据库表数据
本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 ...
- 华南农业大学Linux课程综合实验-超详细版(实现用Go、nodejs、python、php读取mysql数据)
文章目录 一.准备工作 1. 领取阿里云服务器 2. 服务器初始设置 2.1 设置实例密码 2.1.1 找不到控制台页面 2.2 远程登录云服务器 2.3 修改云服务器密码 2.4 实现自动远程连接 ...
最新文章
- html5音轨字幕,(图解)如何修改mkv默认音轨和字幕
- ITSM为人服务,还是人为ITSM服务?
- Sending HTML content in an email using PHP
- 32个机械动图,揭秘生活中制造原理
- Redis:Big Key问题
- 滚动页面一定距离后固定导航条
- linux查看网卡吞吐量和网卡流量用自带命令,iptraf查看。
- J2ME-CLDC/MIDP资源
- mysql计算两个月份之间的差值_MySQL如何获取两个年份月份信息中相差的月份(PERIOD_DIFF函数)呢?...
- java word_java输出word解决方案
- php刷屏代码,PHP防止刷屏
- 马哥python课堂笔记_马哥教育PYTHON相关基础 笔记
- 动词变名词的变化规则_英语单词词性转换规则大全
- xyz坐标转换ybc_经纬度转换XYZ
- multiprocessing.Pool(pool.map pool.apply pool.apply_async poo.map_async)
- 微信支付查询订单V2 接口
- CKEditor 修改编辑器 字体大小和行高
- Beyond Compare 4.2.10 zhuce
- centos安装mysql以及mysql-devel
- Swagger 注解使用
热门文章
- 服务器能进安全模式进不去系统,远程服务器怎么进安全模式
- linux串口拼接,Linux下串口操作之數據拼接
- ieda中快捷搜索_IntelliJ IDEA IDE设置系列教程(十):在工具窗口中快速搜索
- 【Python 2.x和Python 3.x版本有什么区别】
- Pycharm回退操作+常用批量操作
- Vivado如何计算关键路径的建立时间裕量?(理论分析篇)
- 6.18docker(一)Compose 模板文件
- GLOBAL TEMPORARY TABLE
- 逻辑回归损失函数(cost function)
- Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)