Я пытаюсь создать несколько баз данных в памяти с помощью sqlite3 (если это возможно). Для баз данных на диске я бы сделал:
import sqlite3
db1 = sqlite3.connect('/mnt/tmp/db1.db')
db2 = sqlite3.connect('/mnt/tmp/db2.db')
db3 = sqlite3.connect('/mnt/tmp/db3.db')
Если я вместо этого сделаю:
db1 = sqlite3.connect("file::memory:?cache=shared")
db2 = sqlite3.connect("file::memory:?cache=shared")
db3 = sqlite3.connect("file::memory:?cache=shared")
Будет ли это в результате три отдельных базы данных в памяти? Кажется, это создает три соединения с общей базой данных в памяти, а это не то, что мне нужно.
Затем я продолжаю создавать курсоры в базах данных (на диске или в памяти) с помощью:
cur_db1 = db1.cursor()
cur_db2 = db2.cursor()
cur_db3 = db3.cursor()
Если невозможно создать несколько баз данных в памяти, лучше ли мне использовать базы данных RAM-диска (как в моем первом блоке кода), но затем выполнять "PRAGMA journal_mode=MEMORY"
для этих соединений?