Entwicklung - CMS/Shopsysteme - Magento - Produkt-Attribute schneller speichern

Magento: Produkt-Attribute schneller speichern

eb1

eb1

04.02.2011 11:07

  • 6 Postings, noch 44 bis zum nächsten Level (50)

Postings: 6

Produkt-Attribute schneller speichern

Dienstag, 15. Februar 2011 11:43

  • 0.0/6 Votes: 0
0.0/6 Votes: 0
Das Speichern von Produkten in Magento ist immer eine zeitkritische Herausforderung. Gerade in Importskripten und bei Massenupdates geht hier wertvolle Zeit verloren. Hier findet Ihr einen Ansatz, mit dem man sehr schnell mit den Magento-eigenen Methoden Daten speichern kann.

Erstmal der übliche Weg:
PHP: (Auswählen)$sku = '123';
$storeId = 0;
$id = $product->getIdBySku($sku);
$product->setStoreId($storeId);
$product->load($id);
$product->setStatus(Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
$product->save();


Hierbei wird jedoch durch $product->save() ein großer Overhead mitgeschleppt. Wenn man nur sehr wenige Attribute ändern möchte, geht dies deutlich schneller:
 
PHP: (Auswählen)$sku = '123';
$storeId = 0;
$id = $product->getIdBySku($sku);
$product->load($id);
$product->addAttributeUpdate('status',Mage_Catalog_Model_Product_Status::STATUS_DISABLED,$storeId);


Eigenen Benchmarks auf meiner lokalen Entwicklungsumgebung (Zend Server CE auf Macbook Pro, Cache deaktiviert, 3 Storeviews) haben gezeigt, dass einfache Änderungen in dieser Art ca. 50x schneller gespeichert werden. 100 Änderungen werden jetzt nicht mehr in 200 Sekunden gespeichert, sondern in 3-4 Sekunden.

Quelle: http://www.magelounge.de/2010/10/produkte-schneller-speichern-mit-addattributeupdate/
Zuletzt editiert:Dienstag, 15. Februar 2011 11:47
Bookmark setzen!:Zu Google Bookmark hinzufügen.Zu bloglines hinzufügen.Zu Newsgator hinzufügen.Zu FURL hinzufügen.Zu DIGG hinzufügen.Zu Webnews hinzufügen.Zu Netscape hinzufügen.Zu Yahoo MyWeb hinzufügen.Zu spurl.net hinzufügen.Zu diigo hinzufügen.Zu Newsvine hinzufügen.Zu del.icio.us hinzufügen.Zu SIMPIFY hinzufügen.Zu Mister Wong hinzufügen.Zu Linkarena hinzufügen.Zu isio.de hinzufügen.Zu Oneview hinzufügen.Zu yigg.de hinzufügen.Zu reddit hinzufügen.Zu StumbleUpon hinzufügen.Zu Slashdot hinzufügen.Zu Blinklist hinzufügen.Zu Technorati hinzufügen.Zu Blogmarks hinzufügen.Zu Blinkbits hinzufügen.Zu ma.gnolia hinzufügen.Zu smarking.com hinzufügen.Zu Netvouz hinzufügen.Zu co.mments hinzufügen.Zu Connotea hinzufügen.Zu de.lirio.us hinzufügen.

Specials

Bytefresser Specials: Anno 1404

Umfrage

Welches ist Dein Lieblings-Anno?

(151 Stimmen)

1. Ganz klar: Anno 1800!
2. Anno 2205
3. Anno 2070
4. Anno 1404
5. Anno 1701
6. Anno 1503
7. Anno 1602
8. Anno Online

Benutzer-Counter

Besucher gesamt: 1.265.876
Besucher heute: 464
Besucher gestern: 286
Max. Besucher/Tag: 1.578
Gerade online: 21
Max. online: 167
Seiten gesamt: 28.900.305
Aufrufe diese Seite: 152

Tag-Cloud

  massenupdates     februar     dienstag     herausforderung     entwicklung     cache     ansatz     sekunden     hierbei     magento-eigenen     overhead     daten     auswählen     gerade     produkten     server     methoden     zuletzt     erstmal     produkt-attribute     magento     status_disabled     shopsysteme     bookmark     postings     importskripten     bytefresser     level     speichern     storeviews