postgreSQL successes
Erno Kuusela
erno at iki.fi
Wed Jun 28 16:33:30 EDT 2000
More information about the Python-list mailing list
Wed Jun 28 16:33:30 EDT 2000
- Previous message (by thread): win32print - adding some APIs?
- Next message (by thread): postgreSQL successes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
>>>>> "Eric" == Eric Lee Green <eric at estinc.com> writes: Eric> Insert speed is horrible -- inserting data takes Eric> forever and a half, though PostGreSQL 7.0 now has a bulk Eric> import facility that may make it faster (I haven't had a Eric> chance to benchmark it yet). hmm. there are some things that can make inserts slow: 1) there is a switch telling postgresql whether it should flush to disk after each transaction. this calls the flush() system call. its implementation is very inefficient on linux. if you are running on linux and can live with the reduced robustness, turn that feature off. 2) if you are using sql insert statements without surrounding begin/commit (ie in autocommit mode), a transaction for each insert makes things slow. 3) using sql insert statements is not itself the fastest thing int the world. the pygresql connection objects have a inserttable() method for doing something similar (i think) to what COPY does with the "psql" interactive interactive terminal. try these, i bet you will have much better luck. Eric> And, finally, the documentation is cryptic, incomplete, and Eric> scattered all over the place... I had to reference two Eric> different manuals in order to figure out how to create (and Eric> destroy) a PL/SQL stored procedure, for example. the book on the postgresql web site covers all of thiss stuff pretty nicely. <URL:http://www.postgresql.org/docs/awbook.html>. Eric> The biggest minus for the back-end of a b2b web site, Eric> though, would be the fact that it is bog-slow at opening a Eric> connection. PostGreSQL forks a new process for each Eric> connection, and the new process must do all sorts of things Eric> to establish authentication etc... well, usually if you do not want to wait for seasons to change when using the web site you do not use cgi anyway. even without connecting to a sql rdbms it is dog slow. Eric> PHP3's PostGres support gets around this by creating Eric> "persistent" connections that hang around with the Apache Eric> process, but I have no idea if Python's Apache module Eric> support is robust enough to handle this situation. yeah. i've been using httpdapy for many projects and it works fine. mod_python (http://www.modpython.org/) is a rewrite of it by the same author... zope also works very well. Eric> Not to mention that Python's Apache module support is almost Eric> entirely undocumented... it is quite unclear, for example, Eric> how to run your former Python CGI scripts via the PyApache Eric> module. i don't know about the documentation of PyApache (it's about as slow as CGI anyway), but the mod_python and zope docs are pretty nice (httpdapy docs are not totally nonexistant either). -- erno
- Previous message (by thread): win32print - adding some APIs?
- Next message (by thread): postgreSQL successes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list