5. 应用Pragmas
…当它真的有效时
在你的法度榜样中有几个 pragma 可用于调剂 sqlite3 的行动。特别地,个一一个可以改良机能的是 synchronous :
- connection.execute('PRAGMA synchronous = OFF')
你应当知道这可能是危险的。如不雅应用法度榜样在事务中心不测崩溃,数据库可能会处于不一致的状况。所以请当心应用! 然则如不雅你要更快地插入很多行,那么这可能是一个选择。
假设你须要在数据库上创建几个索引,而你须要在插入很多行的同时创建索引。把索引的创建推迟到所有行的插入之后可以导致本质性的机能改良。
7. 应用占位符插入 Python 值
应用 Python 字符串操作将值包含到萌芽中是很便利的。然则如许做异常不安然,而 sqlite3 给你供给了更好的办法来做到这一点:
- # Do not do this!
- my_timestamp = 1
- c.execute("SELECT * FROM events WHERE ts = '%s'" % my_timestamp)
- # Do this instead
- my_timestamp = (1,)
- c.execute('SELECT * FROM events WHERE ts = ?', my_timestamp)
此外,应用Python%s(或格局或格局的字符串常量)的字符串插值对于 executemany 来说并不是老是可行。所以在此测验测验没有什么真正意义!
你可以应用这个事实,即 executemany 接收元组的生成器作为参数:
请记住,这些小技能可能会(也可能不会)给你带来好处,具体取决于特定的用例。你应当永远本身去测验测验,决定是否值得这么做。
【编辑推荐】
- 应用内存破坏实现Python沙盒逃逸
- Python对象箱 | 手把手教你若何强行与良久不愫系的同伙制造话题
- 热度疯涨的Python,开辟者应大年夜2.x照样3.x着手?
- 一线Python运维开辟带你秒懂Flask框架
- Python风靡全宇宙,重要原因竟是它?
推荐阅读
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 这个电脑法度榜样是Willem van Hoorn脑力劳动的产品。van Hoorn是应用人工智能设计药物的始创公司—&>>>详细阅读
地址:http://www.17bianji.com/lsqh/38253.html
1/2 1