["Dean Arnold" ] Re: Array Binding Status?
От | Jason E. Stewart |
---|---|
Тема | ["Dean Arnold" |
Дата | |
Msg-id | 87fztjt05d.fsf@openinformatics.com обсуждение исходный текст |
Ответы |
Re: ["Dean Arnold" |
Список | pgsql-interfaces |
Hi all, I'm included a piece of a discussion that was had on the Perl DBI mailing list a while back. A new feature was added that enable applications to pass off arrays of placeholder values for each placeholder in a prepared SQL statement instead of only a single value for each placeholder. This meant a significant speed-up for things like large INSERT statements. My question is does Postgres have the necessary abilities to handle this feature? Thanks ahead of time, jas. > > Thanks Andrew, > > > > The question isn't whether the current DBD::Pg supports the behavior, > > it doesn't, the issue is whether the Postgres C API has an ability to > > do these array-based inserts. > > > > I would definately have to modify DBD::Pg's C code to support this. > > > > I was just wondering from Dean and Jeff what kind of C API methods did > > they need to use to get it working for ODBC. > > It's all part of the ODBC spec/API. > > Jeff > Or check the Oracle OCI array binding (the function names escape me at the moment). The deeper issue is whether the DBMS supports a bulk operation, esp in a transactional context. E.g., Teradata has bulk operation utilities ala SQLLoader, but currently doesn't support bulk operations in a regular SQL connection. While adding an iterative query execution into the C API code will help some, the big boosts occur when the DBMS can gobble up a stream of 1,000+ placeholder tuples at once (and esp. for INSERT, dump 'em directly to disk), as e.g. Oracle and DB2 do. Dean
В списке pgsql-interfaces по дате отправления: