
class Buffer(object): MAXSIZE = 8192 def __init__(self, conn, sql): selfconn = conn selfsql = sql selfbuffer = [] def append(self, data): selfbufferappend(data) if len(selfbuffer) > selfMAXSIZE: selfflush() def flush(self): data, selfbuffer = selfbuffer, [] curr = selfconncursor() currexecutemany(selfsql, data) selfconncommit() # here are your code for init database connect conn_src and conn_storebuff = Buffer(conn_store, "insert into sybase_user values (%s, %s)")sql_query = "select aid, aname from user_info a where aid=%s"curr_src = conn_srccursor()curr_srcexecute(sql_query, '0001')for row in curr_src: buffappend(row)buffflush()
作者:小风寒呐
链接:>
1) mysql用集群而不要用单机版
2)试着修改mysql的存储引擎,当然这影响数据恢复的策略
3)表是否设置了主键或索引影响插入速度
4)采用数据二次提交的方式,也就是关闭默认的autocommit,设置为0,然后每插入10000条再commit一下,采用这种方式起码每秒处理1w条的性能还是有的
5) 换硬盘,上raid或SSD,这个严重影响数据写入速度
6) 还可以试试用load data的方式,适合将现有的文本数据导入
数据库本身是不支持字典类型的(已知的绝大多数)
我以往的做法有两种:
把字典或者json格式数据作为字符串(string)直接插入,读取的时候再转换为字典。
为了避免某些字符,引号等转义问题发生,可以使用base64编码后导入数据库,读取时候再用base64解码
python32 ==> ORM(或者数据库接口) ==> 数据库数据库:PostgreSQL9、SQLite3等ORM:SQLAlchemy(需要安装数据库接口)数据库接口:psycopg2(PostgreSQL9)建议使用ORM样创建、修改、删除时只涉及python类对象无需写sql语句修改了数据表结构时对程序修改也方便些表间关系特别复杂也ORM直接写sql语句
以上就是关于如何用python读取文件数据,并插入到influxdb数据库全部的内容,包括:如何用python读取文件数据,并插入到influxdb数据库、python 如何把图片存入数据库、python如何在文本框中输入信息插入到数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)