zoukankan      html  css  js  c++  java
  • 关于SQLite七种临时文件

    Rollback Journals

    出现在事务的起始点,消失在事务的结束点

    若PRAGMA locking_mode=EXCLUSIVE; // 默认为normal

    则不会在事务结束点删除回滚日志

    若pragma journal_mode=persist; // 默认为delete

    也不会在事务结束点删除回滚日志

    若pragma journal_mode=off;

    则不会产生回滚日志

    存储于磁盘上

    Master Journal Files

    在一个数据库连接使用attach命令接入N个外部数据库的情况下,事务开始点产生的回滚日志

    存储于磁盘上

    Statement Journal Files

    针对单个SQL语句的回滚日志

    存储于磁盘上

    Temp Databases

    使用PRAGMA synchronous=OFF

    使用PRAGMA journal_mode=PERSIST

    操作速度较快,一般用于临时日志的记录操作

    Materializations Of Views And Subqueries

    存储视图、子查询等临时表

    Transient Indices

    瞬时索引,比如

    ORDER BY从句

    GROUP BY从句

    DISTINCT聚合查询关键词

    复合SELECT从句joined by UNION, EXCEPT或INTERSECT

    Transient Database Used By VACUUM

    使用VACUUM压缩数据库文件时使用的临时文件

    Temp Databases

    Materializations Of Views And Subqueries

    Transient Indices

    Transient Database Used By VACUUM

    这四类临时文件的存储位置受pragma temp_store和SQLITE_TEMP_STORE影响,如下表所示:

    名称

    解释

    存储位置

    Rollback Journals

    回滚日志,存在于事务的始末

    始终存储于磁盘上,这三类文件只是出现的场合不一样,而本质是一样的,可以总结为事务的回滚日志文件

    命名为’dbname.db-journal’

    Master Journal Files

    主数据库日志,连接外部数据库时出现

    Statement Journal Files

    出现在单条SQL语句的事务始末

    Temp Databases

    用于存储临时表(temp table)

    pragma temp_store

    0(default)

    1

    2

    SQLITE_TEMP_STORE

    0

    磁盘

    1(default)

    磁盘

    磁盘

    内存

    2

    内存

    3

    内存

    即使将它们的位置设置为磁盘,SQLite也会将它们存储在内存页中,直到内存页满才写进磁盘,而这个内存页大小由SQLITE_DEFAULT_TEMP_CACHE_SIZE决定,默认是500页。

    Materializations Of Views And Subqueries

    用于存储视图、子查询等临时表

    Transient Indices

    用于存储order by、group by等临时索引

    Transient Database Used By VACUUM

    Vacuum命令临时文件

  • 相关阅读:
    29.内置方法中之描述符
    28. 面向对象进阶之内置方法上
    Sort Colors*
    Implement Trie (Prefix Tree)
    Course Schedule
    Permutations
    Reverse Linked List
    Decode Ways
    Subsets *
    Longest Consecutive Sequence *
  • 原文地址:https://www.cnblogs.com/liangxiaxu/p/2909236.html
Copyright © 2011-2022 走看看