Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d0d701b8

Von Sven Schöling vor mehr als 12 Jahren hinzugefügt

  • ID d0d701b89a590bb003b490322d45ea0001d8e966
  • Vorgänger aeb4f5d5
  • Nachfolger 07a38b9f

Warenimport bei grossen Datenbanken.

Der Warenimport hat bisher alle Waren ausgelesen und dann im Hash umsortiert.
Bei einer Datenbank mit 84k Waren hat das 22s gedauert, und 700MB
Arbeitsspeicher gefressen, das ist nicht zumutbar. Nun wird jeder Wert einzeln
aus der Datenbank gesucht.

Unterschiede anzeigen:

SL/Controller/CsvImport/Part.pm
194 194

  
195 195
  my $object = $entry->{object};
196 196

  
197
  $entry->{part} = $self->parts_by->{partnumber}->{ $object->type }->{ $object->partnumber };
197
  $entry->{part} = SL::DB::Manager::Part->find_by(
198
    SL::DB::Manager::Part->type_filter($object->type),
199
    ( partnumber => $object->partnumber )                 x!! $object->partnumber,
200
  );
198 201

  
199 202
  if ($self->settings->{article_number_policy} eq 'update_prices') {
200 203
    if ($entry->{part}) {

Auch abrufbar als: Unified diff