Можно ли прочитать базу данных SQLite в память с помощью SQLAlchemy? - PullRequest
2 голосов
/ 18 декабря 2011

Я являюсь пользователем приложения Python с плохо проиндексированными таблицами и интересовался, можно ли повысить производительность, преобразовав базу данных SQLite в базу данных в памяти при запуске приложения. Я думаю, что это минимизирует проблему полного сканирования таблиц, особенно потому, что SQLite может создавать автоиндексы, поскольку в документации сказано, что он включен по умолчанию. Как это можно сделать с помощью SQLAlchemy ORM (именно это использует приложение)?

Ответы [ 2 ]

1 голос
/ 04 апреля 2012

В начале программы переместите файл базы данных на виртуальный диск, укажите на него SQLAlchemy и выполните обработку, а затем переместите файл SQLite обратно в энергонезависимое хранилище.

Это не очень хорошее решение, но оно поможет вам определить, стоит ли кэшировать вашу базу данных в памяти.

0 голосов
/ 18 декабря 2011

Всякий раз, когда вы устанавливаете переменную в Python, вы создаете экземпляр объекта. Это означает, что вы выделяете для него память.

Когда вы запрашиваете sqlite, вы просто читаете информацию с диска в память.

sqlalchemy - это просто абстракция. Вы считываете данные с диска в память таким же образом, запрашивая базу данных и устанавливая возвращаемые данные в переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...