Сколько путей можно назвать подпрограммой и проигнорировать ее прототип в Perl?

Как другие указали, это не просто стоимость устройства хранения данных.

длина столбца будет влиять на количество строк на страницу. Наличие меньшего количества строк на страницу означает, что меньше могут вписаться в Ваши кэши, который отбрасывает производительность. Я предполагаю, что в MSSQL, столбец NVARCHAR, который индексируется, израсходует больше пространства в индексе. Что означает меньше элементов индекса на блок, поэтому больше блоков в индексе, поэтому больше ищет при сканировании (или поиске) индексы, который замедляет индексный доступ также.

, Таким образом, это теряет Вас производительность на каждой передней стороне. Если Вы действительно не заботитесь (или может измерить уровень и довольны им, конечно), то это прекрасно. Но если у Вас есть подлинное требование для хранения unicode символов, конечно, используйте NVARCHAR.

я могу быть то, что пригодность для обслуживания, полученная при помощи NVARCHAR всюду по Вашей базе данных, перевешивает любую стоимость производительности.

11
задан daotoad 28 September 2009 в 21:06
поделиться

3 ответа

Вызовите его через ссылку на подпрограмму.

sub foo($) { print "arg is $_[0]\n" }
my $sub = \&foo;
$sub->();

Вызовите его до того, как Perl увидит прототип (важно, потому что Perl не требует объявления подпрограмм перед использованием):

foo();
sub foo($) { print "arg is $_[0]\n" }
12
ответ дан 3 December 2019 в 06:46
поделиться

Использование синтаксиса goto & name .

3
ответ дан 3 December 2019 в 06:46
поделиться

Type-glob.

sub foo($) { print "arg is $_[0]\n" }
*foo{CODE}()

Также рассмотрим Bar-> foo (), переписанный в косвенной нотации:

foo Bar

Еще? давай, принеси.

3
ответ дан 3 December 2019 в 06:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: