effectieve update query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Back-end Software Developer

Functie omschrijving Ben jij op zoek naar een uitdagende development functie bij een klein gespecialiseerd softwarebedrijf? Wil jij graag hybride werken (combi tussen thuis + kantoor), loop jij warm voor maatwerk software en voel jij je prettig in een informele cultuur? Zoek dan niet verder! Reageer direct! Voor een gewilde werkgever in omgeving Tilburg zoeken wij een back-end software developer met een aantal jaar werkervaring. Je gaat werken voor een klein softwarebedrijf dat gespecialiseerd is in de ontwikkeling van integratiesoftware. Jouw werkzaamheden zien er als volgt uit: In een klein team met 4 ontwikkelaars houd jij je bezig met afwisselende

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET developer

Functie Als .NET developer werk jij samen in een multidisciplinair ontwikkel team met 1-2 Senior .NET developers, twee front-end developers, Data Scientists en één UX designer. Als team werken jullie aan het ontwikkelen van een Cloud based applicatie en aan het stabieler maken van deze applicatie. Ook unit testing gaat erg belangrijk worden in jouw nieuwe functie. Samen met de Senior .NET ontwikkelaar wordt jij verantwoordelijk voor het ontwikkelen van de API. Jullie werken met veel data en incidenteel komen er ook data vraagstukken en zullen er wat queries gedraaid moeten worden. Dit betekend dat jij veel gaat werken met

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Junior/Medior Front-end developer

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »
Michael schouman

michael schouman

18/02/2011 10:52:12
Quote Anchor link
Hoi allen,

Nieuw op het forum maar niet nieuw met php. Althans het is alweer een tijd geleden dus wel wat roestig. Maar ik heb besloten om mij er 100% in te verdiepen maar daarvoor heb ik zo nu en dan wat hulp nodig.

Zo genoeg voorstelrondje ik begin meteen met een vraag. Dit is een vraag die mij overigens al lang bezig houdt maar nu pas echt nodig is om uit te zoeken.

Ik heb een tekst bestand die we krijgen van een leverancier. Deze lees ik uit en maak er een array van. Die array wordt gebruikt in een update query om de voorraad te update in een mysql database (die, je raadt het al, achter een website hangt)

Quote:
"UPDATE ".$db.".products SET voorraad=".$voorraad." WHERE voorraad < ".$voorraad." AND barcode=".$parts[0]."";


Nu is die array vrij groot en duurt dit script zo lang dat de server hem afkapt. Nu kan ik mij niet voorstellen dat dit normaal is...

Hoe verwerk ik deze query op een correcte manier zodat de server er niet bijna in stikt?

Alvast bedankt voor de hulp :-)
 
PHP hulp

PHP hulp

16/02/2025 12:52:46
 
Jelle -

Jelle -

18/02/2011 10:55:46
Quote Anchor link
Je kan je file lezen per record en dat dan meteen in de database te trappen ipv eerst in een array
 
Michael schouman

michael schouman

18/02/2011 11:01:17
Quote Anchor link
maar dan voert hij toch evengoed elke regel appart uit? Dat lijkt mij juist niet de bedoeling namelijk... Mits ik je niet helemaal goed volg?
 
Jelle -

Jelle -

18/02/2011 11:04:03
Quote Anchor link
Michael schouman op 18/02/2011 11:01:17:
maar dan voert hij toch evengoed elke regel appart uit? Dat lijkt mij juist niet de bedoeling namelijk... Mits ik je niet helemaal goed volg?

Nou als je 10000 dingen in een array rost is het niet de query waar php om zeurt maar om de array.

10000 keer een query rossen hoor je niemand klagen als er goeie indexen op je velden liggen (bvb een unique index op je barcode)

Ik neem aan dit dit niet elke minuut gebeurd maar 1 keer per dag

Toevoeging op 18/02/2011 11:09:02:

Als je de tabel steeds moet updaten zou ik er een InnoDB tabel van maken
Gewijzigd op 18/02/2011 11:04:54 door Jelle -
 
Michael schouman

michael schouman

18/02/2011 11:10:27
Quote Anchor link
euh... tja ik heb de opzet niet zelf gebouwd dus met dit soort zaken is in eerste instantie weinig rekening gehouden. Helaas.

Die unique index staat niet op het barcode veld helaas.

Dus ik ben bang dat het toch anders moet.

Ik zat zelf te denken aan het volgende:

Eerst een select op de regels die dus echt voldoen aan het statement en dan pas een update. Dat zou het aantal regels toch wel moeten halveren.

Hoe klinkt dat?
 
Jelle -

Jelle -

18/02/2011 11:17:49
Quote Anchor link
Ik neem aan dat je barcode veld wel unique is door de database toch?
Dan kan je een unique key creeren door dit uit te voeren
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
ALTER TABLE <table> ADD UNIQUE (<column>)


Hoeveel records heeft je tabel?
 
Michael schouman

michael schouman

18/02/2011 11:22:23
Quote Anchor link
de tabel products heeft 18,708 rows. Het barcode veld is in die zin wel unique ja.

Maar, voor de beeldvorming, in hoeverre is dit echt nodig? Wat gebeurt er precies als ik jou advies opvolg?
 
Jelle -

Jelle -

18/02/2011 11:29:01
Quote Anchor link
Michael schouman op 18/02/2011 11:22:23:
de tabel products heeft 18,708 rows. Het barcode veld is in die zin wel unique ja.

Maar, voor de beeldvorming, in hoeverre is dit echt nodig? Wat gebeurt er precies als ik jou advies opvolg?

Nou als je het veld een unique id geeft hoeft je query alleen de index te volgen en dat duurt ongeveer 0.0006 seconde.

Als je er geen unique id op zet dan moet je query de hele tabel scannen om elk record te gaan vergelijken of het veld jouw barcode is en dat kan wel even duren.

Zeg jij moet 18,708 updates doen en je tabel heeft 18,708 records.
Dan onderzoekt de tabel met unique key 18,708 in totaal

En zonder unique key 349989264

Toevoeging op 18/02/2011 11:32:38:

In ieder geval: Je unique key zorgt ervoor dat je query snel gaat (zoals je wou in je openings post)

En verders om je script ook sneller te laten gaan moet je de query per record dat je uitleest uitvoeren en niet alle 19000 eerst opslaan in een array
Gewijzigd op 18/02/2011 11:32:48 door Jelle -
 
Michael schouman

michael schouman

18/02/2011 11:34:06
Quote Anchor link
Oke, das een aanzienlijk verschil.

Als je met id bedoeld gewoon dat elke row een id heeft dan is dat wel al zo, elk product heeft een unique id... Dat spreekt voor zich haha.

Maar dan zou ik een select moeten doen op de barcode (aangezien dat het enige is wat overeenkomt tussen file en database) om vervolgens de id te gebruiken in een update statement?

Edit:


$idq = "SELECT `id` from ".$db.".products WHERE voorraad<".$voorraad." AND barcode=".$parts[0]."";

$result = mysql_query($idq);
while ($row = mysql_fetch_array($result)) {
echo "Kleiner dan:";
echo $row["id"]. "<br />";
}

$uq = "UPDATE ".$db.".products SET voorraad=".$voorraad." WHERE ".$row[id]."";

Zoiets?
Gewijzigd op 18/02/2011 11:45:07 door michael schouman
 
Jelle -

Jelle -

18/02/2011 12:06:58
Quote Anchor link
Nee dat hoeft niet misschien was mijn unique id verwarrend.
Je barcode is je relatie tussen de file en je database. Je moet dus zorgen dat je barcode een goeie index heeft. Aangezien je barcode in je database unique is kan je daar een unique key op leggen (zie vorige posts)

Als je nu een update of select doet met barcode = 'iets' dan kan mysql snel vinden wat je bedoeld aangezien het een goeie index heeft op barcode (een unique key is een index)

Dus je query in je openings post zal doordoor een snelle query worden en kan je behouden
 
Michael schouman

michael schouman

18/02/2011 13:26:45
Quote Anchor link
ow shit ik zie net dat er ook lege velden zitten in 'barcode' maakt dat uit?

En ik zit even te kijken in phpmyadmin om toch even te controleren of er geen index bij staat.

screenshotje:
Afbeelding

Ik weet niet of dat nou goed is of niet eigenlijk
Gewijzigd op 18/02/2011 13:30:44 door michael schouman
 
Jelle -

Jelle -

18/02/2011 13:56:07
Quote Anchor link
Michael schouman op 18/02/2011 13:26:45:
ow shit ik zie net dat er ook lege velden zitten in 'barcode' maakt dat uit?

Ja dat maakt uit dan kan je geen unique index erop zetten. Je kan er wel een gewone index opzetten (kan gewoon via phpmyadmin) en dat zou je query ook versnellen.

Je hebt overgens wel veel indexes
Gewijzigd op 18/02/2011 13:56:38 door Jelle -
 
Michael schouman

michael schouman

18/02/2011 14:59:05
Quote Anchor link
Maar nu gaat dat hele feest eigenlijk niet door en ben ik terug bij af?
 
Jelle -

Jelle -

18/02/2011 15:41:01
Quote Anchor link
Michael schouman op 18/02/2011 14:59:05:
Maar nu gaat dat hele feest eigenlijk niet door en ben ik terug bij af?

Nee je hoeft alleen een index op barcode te leggen en je hebt hetzelfde effect als unique (alleen unique geeft net iets minder overhead maar dat kan niet op je column wat die is dus niet unique vanwege de empty values die je hebt)

Dus gooi een index op barcode en je script is sneller
Gewijzigd op 18/02/2011 15:41:23 door Jelle -
 
Michael schouman

michael schouman

18/02/2011 16:12:47
Quote Anchor link
Hmm ik heb gedaan wat je hebt gezegt en mijn script weer teruggezet naar wat ik in eerste instantie eigenlijk al had maar het duurt nog steeds lang :-(

Edit:

Ok maar hij heeft het wel gedaan zonder errors :-)
Gewijzigd op 18/02/2011 16:37:05 door michael schouman
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.