python和mysql

本周#新课教育#进度到了mysql和MongoDB,mysql安装对半只老鸟就跳过了,简单聊聊pymysql

从名字看上去挺原生的,从操作上来说一下回到了解放前:创建连接、返回游标结果、按行取数、关闭。(好TM有年代感的怀念操作)

发现游标的返回结果只能按编号返回按编号返回按编号返回。。。为冇就没有指定列明返回的?

想想大概还是因为python轻量极简的缘故,轻快放第一位,其他能省则省,老铁没毛病

缅怀一下这种用完就释放的链接操作就好,先找下python有没有啥链接池可用。参考大佬的文章发现pymysql是线程安全的(感觉利大于弊,能在期望内使用才是可用的底线),采用用完还回的方式丢在池子里,减少mysql的连接创建成本。毕竟不是一个公司\机构出品,各自都留了不少退路给第三方。个人还是喜欢这种可以设置连接上限的线程安全连接池模式,哪块要用自己拿就好,没有就排队,毕竟早年刚学Java的时候连接还是个精贵玩意,创建一个连接时要成本的。

不过这种方式衍生出来一个新问题:上级有个mysql集群有自动剔除长期占用但是没有发送数据的功能,之前听第三方厂商提起过这个问题,在没有再连措施(也就是平台认为连接还或者,但是远端已经被咔嚓掉了,然后平台死命往远端请求数据,全部都没有返回,等到连接池的所有连接都被咔嚓后平台就彻底死掉了)时整个连接池会挂掉,后台把源代码掏出来自己重新编译一次搞定整个问题,顺便把上级mysql一顿吐槽。有机会要试试PooledDB能不能自动处理这个问题。(并不报啥期望。。。)

有连接池的连接是对数据库连接最起码的尊重。。。

发现Hibernate也有py版本,很好,这玩意能有十几年没有碰过了 :-( ,大概率没有可视化工具,以后再捡起来用用。(吐槽一下Hibernate的DJ机制,貌似十几年前吐槽的问题还在,现在还是不支持部分列更新,这一点真要学学人家微软,尽管用.net真正做产品做服务的人不多,但是人家的设计理念真的挺不错,linq我一直觉得挺好用的,更新的时候指哪打哪,对存储过程的支持还很不错)

PS. python的爬虫是又简单又好用,但凡要做类似业务都应该学一下python,考虑一下是不是要转义阵地。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值