среда, августа 29, 2007

Не все индексы полезны...

Прочитал я тут, что оказывается в таком с виду простом случае, как создания индекса для поля с булевыми значениями есть нюансы... А именно если выборка (select ... from ... where field_with_bool=1) содержит более 20% строк таблицы то с индексом она будет медленнее чем без него. Причём медленнее в несколько раз на больших объёмах.

Подробнее(с тестами) на MySQL Perfomance Blog.

А всё из-за оверхеда на операции с индексом. Век живи - век учись.

четверг, августа 09, 2007

Мощь Perl

Наткнулся в комментах ru_perl на такое:
Достаточно BEGIN { no strict 'refs'; *{'B::g'} = \&{'A::f'}; } в любом месте исходника и функция A::f(...) становится видна в пакете B как g(...). Возможность такого копирования функций тоже предлагаете описывать? И все тонкости, которые при этом происходят?

Или, например, то что "no strict 'refs'; local *{'B::g'} = *{'B::g'} ; *{'B::g'} = \&{'A::f'};"
делает все обращения к B::g(...) обращениями к A::f(...) в текущем блоке?
Тут в принципе добавить нечего, при всех минусах perl'а есть вещи которые иногда радуют (даже если видишь их уже не в первый раз). И даже если в реальности такое я не использую, но наличие самой возможности(а вдруг завтра война? :) ) греет душу.