are there pros or contras, keeping a connection to a (sqlite) database ?
News123
news1234 at free.fr
Thu Sep 9 04:41:50 EDT 2010
On 09/09/2010 12:29 AM, CM wrote:
> On Sep 8, 1:09 pm, Stef Mientki <stef.mien... at gmail.com> wrote:
>> hello,
>>
>> I wrap my database in some class, and on creation of the instance, a connection to the database is
>> created,
>> and will stay connected until the program exists, something like this:
>>
>> self.conn = sqlite3.connect ( self.filename )
>>
>> Now I wonder if there are pros or contras to keep the connection to the database continuously "open" ?
>>
>> thanks,
>> Stef Mientki
>
> I do the same thing--good to hear from John that keeping it open is
> OK.
>
> But another question that this provokes, at least for me is: what
> happens when you call .connect() on the same database multiple times
> from within different parts of the same app? Is that bad? And is it
> that there now multiple connections to the database, or one connection
> that has multiple names in different namespaces within the app?
CM,
Do you talk about a multithreaded environment?
or only about an environment with logically separate blocks (or with
generators),
and multiple objects each keeping their own connection.
As far as I know sqlite can be compiled to be thread safe, but is not
necessarily be default.
No idea about the library used b python.
I personally just started sqlite in one of my apps with multithrading
and in order to be safe I went for the conservative approach
connect, perform transactions, commit and close.
However this is probably overkill and later in time I might also ty to
keep connections open in order to increse performance.
> I'm not even sure what a "connection" really is; I assumed it was
> nothing more than a rule that says to write to the database with the
> file named in the parentheses.
>
> Further elaboration from the community would be helpful.
>
> Thanks,
> Che
More information about the Python-list
mailing list