У нас есть база данных MySQL с очень большим количеством таблиц. К сожалению, в 2018 году мы все еще используем Perl CGI. Так что время загрузки скрипта очень важно.
DBIx::Class
был исключен мною, потому что он загружает около 1,6 сек (так долго, потому что он загружает определения Perl для всех таблиц БД), что явно слишком много.
Как быстро Class::DBI
загружается? Мой главный вопрос: загружает ли Perl информацию обо всех доступных таблицах (например, DBIx::Class
), когда мы используем Class::DBI
, или он загружает определения Perl только для тех таблиц, которые мы фактически используем?
Ниже приведен код DBIx::Class
, который загружает 1,6 с:
#!/usr/bin/perl
package MyApp::Schema;
use lib '.../ORMs/dbix-class';
use base qw/DBIx::Class::Schema/;
__PACKAGE__->load_namespaces();
1;
(схема генерируется автоматически.)
Есть ли способ сделать это быстрее? Как использовать его без загрузки всех таблиц?