zoukankan      html  css  js  c++  java
  • 【转】sqlite3.connect

    conn=sqlite3.connect('urls.db')

    conn=sqlite3 connect ":memory:" )

    SQLite不仅可以把数据库 放在硬盘上,还可以放在内存中(sqlite3_open(":memory:", &db)),经测试,同样条件下数据库放在内存中比放在硬盘上插入记录速度快差不多3倍。但数据库放在内存中时有如下缺陷:

    1、断电或程序崩溃后数据库就会消失,你需要定期Attach到硬盘上备份;

    2、在内存中的数据库不能被别的进程访问(因为没名字,以后可能支持),即使在多线程下,也得使用同一句柄;

    3、不支持像在硬盘上的读写互斥处理,自己加锁吧。

      看来,追求速度要付出代价啊!

    有没有什么方法折衷一下,就是 conn=sqlite3 connect ":memory:" )使用完之后,再保存在本地呢?

    记录你执行过的sql,在使用完之后再connect("memory.db"),将sql重新执行一次,就可以保存了 也不太好

  • 相关阅读:
    服务的有状态和无状态
    微服务-服务治理
    微服务-服务注册与发现
    微服务-技术的选型
    微服务的数据一致性
    微服务的服务拆分
    初识微服务
    REST API风格
    算法
    JS 判断PC、android、ios、微信浏览器
  • 原文地址:https://www.cnblogs.com/chanshion/p/12401570.html
Copyright © 2011-2022 走看看