Народ, есть база на Postgresql.
Надо к ней обращаться из программы на perl. Критичный параметр работы программы - скорость обработки запросов.
Есть две возможности:
1. use DBI;
2. use Pg;
Подскажите, какие плюсы и минусы использования DBI перед Pg, и наоборот.
>Народ, есть база на Postgresql.
>Надо к ней обращаться из программы на perl. Критичный параметр работы программы
>- скорость обработки запросов.
>Есть две возможности:
>1. use DBI;
>2. use Pg;
>Подскажите, какие плюсы и минусы использования DBI перед Pg, и наоборот.
Pg уже давно не поддерживается, к сожалению. DBI более стандартна, т.е. если не использовать "фичи", можно легко портировать программу под другую СУБД.
А мне всегда казалось, что DBI (DataBase Interface) использует DBD (DataBase Driver), честью которого и является Pg. DBD::Pg - драйвер для PostgreSQL, который неявно используется в DBI - прослойке, для стандартизации интерфейсов к разным базам данных. И в манах так и написано:$man DBI
DBI - Database independent interface for Perl
$man DBD::Pg
DBD::Pg - PostgreSQL database driver for the DBI module
>А мне всегда казалось, что DBI (DataBase Interface) использует DBD (DataBase Driver),
>честью которого и является Pg.Pg (http://gborg.postgresql.org/project/pgperl/) - отдельный интерфейс, из которого когда-то был переделан DBD::Pg, но это разные модули.
Понял :)
Хорошо.
Тогда подскажите, как в DBI реализовать команду COPY?
Ведь, на сколько мне известно, при больших объёмах данных COPY работает гораздо быстрее, чем куча INSERT'ов...