DBI должен выполнить больше работы, чтобы представить результат в виде хеш-ссылки, чем в виде arrayref или в виде массива. Если проблема заключается в максимальной эффективности, вы, скорее всего, будете использовать arrayref или array. Является ли это действительно измеримы, возможно, более спорно.
Может быть еще более незначительная разница в производительности между массивом и arrayref.
Если вам будет проще ссылаться на столбцы по имени, используйте хэш-ссылку; если использование чисел в порядке, то любая из нотаций массива в порядке.
Если первое, что вы собираетесь сделать, это вернуть значение из функции извлечения или передать его в другую функцию, то ссылки могут быть более разумными.
В целом, нет веских причин использовать один над другим. Гоча, выделенная Ed Guiness , может быть решающей, если вы не отвечаете за SQL.