Я пишу несколько сценариев Perl для манипулирования большими объемами (всего около 42 миллионов строк, но это не будет сделано одним ударом) данных в двух базах данных PostgreSQL.
Для некоторых моих запросов имеет смысл использовать fetchall_hashref
, потому что у меня есть синтетические ключи. Однако в других случаях я собираюсь использовать массив из трех столбцов в качестве уникального ключа.
Это заставляет меня задуматься о различиях в производительности между fetchall_arrayref
и fetchall_hashref
. Я знаю, что в обоих случаях все идет в память, поэтому выбор нескольких ГБ данных, вероятно, не очень хорошая идея, но, кроме того, в документации очень мало рекомендаций, когда речь идет о производительности.
Мой поиск был неудачным, поэтому, если кто-нибудь подскажет мне какие-то общие исследования производительности, я буду благодарен.
(я знаю, что мог бы сравнить это сам, но, к сожалению, для целей разработки у меня нет доступа к машине, на которой аппаратное обеспечение идентично оборудованию, поэтому я ищу общие рекомендации или даже лучшие практики).