Rekommenderade artiklar
- New Jordans 2015 bör vara i b…
- "Clash of Clans 'Uppdatera Add…
- Hur att behålla prestanda fö…
- C2150-200 Exam Real studieguid…
- Hur Recover My Yahoo Mail lös…
- Bästa sättet att ta bort sta…
- AVG Secure Sök Antiviurs Skyd…
- Norton 360 Uninstaller Removal…
- Få Expertis inom nätverks te…
- Hur man tar bort Mystart.vi-vi…
- som en bränslekälla som de ä…
- Batteri för IBM ThinkPad T43 …
- C2010-538, IBM Tivoli Monitori…
- Nippel livslängd till 15 år …
- Norton Recension av Alana Alex
Kategori
- affiliate marknadsföring
- konsthantverk
- fordons
- bokrecensioner
- affär
- karriär
- kommunikation
- datorer
- utbildning
- underhållning
- miljö
- finansiera
- mat dryck
- spel
- hälsa medicinsk
- hem familjen
- internet e-handel
- barn tonåringar
- språk
- laglig
- marknadsföring
- musik-
- husdjur djur
- fastighet
- relationer
- själv förbättring
- inköps omdömen
- samhället nyheter
- programvara
- andlighet
- sport fritid
- teknik
- Alla
- kvinnor intressen
- skrivning talar
- andra
Vanliga Coding Problem med Magento Platform av Deepa Ranganathan
Du kommer att inse att även de minsta fel som uppstår inom en slinga förstoras. I allmänhet, loopar är de största prestanda buggar, särskilt de som upprepar SQL-frågor eller redundanta beräkningar
Låt oss se hur ineffektivitet av överflödiga beräkningar och SQL-frågor inom en slinga kan påverka resultatet för din Magento butik Omdömen beräkningar inom en Loop Omdömen
Om du vill beräkna storleken på en array med en slinga, är det en funktion som du kan använda count () Review
för ($ i = 0; $ i < , räkna ($ rader), $ i ++) Review
{Omdömen
//lite kod Omdömen
}
Count (), individuellt utför och beräknar snabbt; det saktar ner när de används i en slinga. När du börjar att beräkna storleken på en matris med en massa data och använda räkna att leverera produktionen, hittar du prestandan långsammare oerhört. Orsaken är PHP inte erbjuda loop-invariant kod rörelse automatiskt. Omdömen
Det bästa sättet att undvika detta prestandaproblem är att anropa funktionen utanför slingan Omdömen
$ rowNum = räkna ($ rader);
för ($ i = 0; $ i
{Omdömen
//lite kod Omdömen
} SQL-frågor inom en Loop
Eftersom det beräknar en SQL-fråga kan leda till prestationsbaserade frågor,. när du kör den i en slinga, finns det en möjlighet att bromsa din webbplats Oftast kommer du att se att Magento modeller laddas i slingor
foreach ($ this- > getProductIds () som $ ProductID) Review
{$ produkt = Mage::getModel('catalog/product')->load($productId);
$this->processProduct($product);
}
An uppsättning av produkt ID lastas för att bearbeta modellen. Som kan ses EAV används för att genomföra denna slinga som kan kräva att du kan köra flera frågor. I detta fall, det antal frågor som håller på att exekveras kommer att multipliceras med antalet produkter, och resultatet är en långsam butik som ger ut dåliga resultat. Omdömen
Använd Magento uppgifter Det bästa sättet att optimera skulle vara att undvika att ladda produkterna i en slinga. Så, vad kan du göra? . samling som laddar en uppsättning produkter lätt Nedan följer ett exempel på hur datainsamlings modeller samla produkter genom att skapa en rad olika produkt Ids och fortsätta att lägga de begärda produkterna till sina områden
$ collection = Mage: : getResourceModel (katalog /product_collection) Omdömen
-getProductIds ())) Review
-
foreach ($ samling som $ produkt) Review
{
$ this- Omdömen
} Omdömen När du flyttar ut ur öglorna och i modellen insamlingsmetod, kommer du att se att resultatet av butiken verkligen har förbättrats. Kom alltid ihåg att hålla koll på minnet, så att när du använder datainsamlings modeller, behöver du inte läsa in data som är tyngre jämfört med minnesstorleken. Du måste utföra mass spara och radering av de frågor inom modellerna för att bibehålla dess prestanda din butik. Laddar modeller
Hela processen att ladda en modell i din butik är inte riktigt cachad, varför varje gång du anropar load () funktion, är vissa frågor körs i databasen, vilket leder till prestandaproblem i din butik Omdömen
$ name = Mage :: getModel (katalog /produkten) -
$ sku = Mage :: getModel (katalog /produkt) -
$ attr = Mage :: getModel (katalog /produkt) -
Detta är ett klassiskt exempel på hur frågorna drivs i databasen varje gång en viss modell kallas Omdömen
Det bästa sättet att ta itu med denna fråga är att se till att varje modell är laddad bara en gång
$ produkt = Mage :: getModel (katalog /produkt) -
$ name = $ produkt- Omdömen
$ sku = $ produkt- Omdömen
$ attr = $ produkt-
Ibland, du bara sysslar med produkt Id. Vid en sådan tid, gör det inte meningsfullt att läsa hela modellen. Med den här koden kan du enkelt ladda produkten Id för en viss produkt Omdömen
$ produkt = Mage :: getModel (katalog /produkt) -
$ res ['id'] = $ produkt-
En annan populär metod för att härleda produkt-ID är att använda naturlig produkt metoden getIdBySku () Review
$ res ['id'] = Mage :: getModel (katalog /produkten) - Coding Samlingar
annat område i Magento kodning som erbjuder problem är samlingar. Samlingar är ganska effektiv, men som de arbetar med en enorm datamängd, måste du se till att du koda dem med omsorg, annars kommer du att möta prestandaproblem Omdömen
Låt oss se hur samlingarna kan orsaka kodnings frågor
Ringa Redundant datamängder
Du använder vanligen samlingar för att hämta en enda punkt i synnerhet den första punkten på slingan första iteration. Så, vad kan vara ett problem här? När du inte erbjuder en begränsning på resultaten, kommer slingan att hålla iteration och ge ut alla objekt inom samlingen i resultatet, i stället för den ursprungliga första objektet. Följande är ett exempel på hur samlingarna kan ge ut alla objekt Omdömen
public function getRandomItem () Review
{Omdömen
$ collection = Mage :: getResourceModel (mymodule /my_collection ') - > setRandomOrder ();
retur $ samling-> getFirstItem ();
} Omdömen
Ansökan begränsningen Omdömen
public function getRandomItem () Review
{Omdömen
$ collection = Mage :: getResourceModel (mymodule /my_collection ') katalog
- Omdömen
tillbaka $ Collection- Omdömen
}
Funktionerna $ Collection- > setPageSize () och $ Collection- > setCurPage () erbjudande begränsa antalet artiklar som hämtas från samlingen Omdömen Du kan även ändra $ Collection- Omdömen
Omdömen
Författare Bio:
Deepa, en teknisk skribent med Semaphore Software, som nu ägnar sin tid i rådgivning sina kunder att anställa Magento utvecklare. Hon erbjuder information samt tips och senaste trenderna på detta område. Hennes kärlek för läsning hjälper henne kontinuerligt lämna senaste informationen om olika tekniska och design aspekter av Magento
datorer
- Fyra frågor behöver Fastställande på FIFA 15 marknaden före prisklasser frå…
- Det är verkligen extremt ghd av Sella Oscar001
- FlashBeat Adware Removal Guide av Amelia H.
- Denna speciella artikeln innehåller flera suggestio av Lin Feng
- Vem är den bästa gratis e-posttjänst Provider i världen Yahoo vs. andra? av …
- GDS Booking System genom Jibin Mathew
- Få Cloud ACT att överträffa verksamhet genom Gottgörelse Ray
- Är iPhone skärmskydd 6 Plus böjd Thanh
- Borttagning Guide - hur du tar bort annonser från Saleplus från din dator geno…
- Manuellt ta bort Search.protectedio.com från Computer and Clean Browser av Mike…
- De borde ha ghd Frankrike av Wang Kiera
- Skillnad mellan UPS och EPS strömförsörjning (avsnitt två) av Renda ups powe…
- HEUR: Exploit.SWF.Agent.id Removal Instruktion av Ginna S.
- Använd Bäst Spyware Remover att bli av Malware från Aneesh Ahmad
- Nya Deceit Påminnelse: Åter kräva tillbaka WOW Husdjur efter slutsåld på Ah…