effectieve update query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij toe aan een nieuwe uitdaging en werk je graag en goed in C++ en C#? Dan zijn we op zoek naar jou! Dit bedrijf is dé specialist op het gebied van automatiseringssoftware voor een specifieke branche en ze zijn per direct op zoek naar versterking in hun development team. Wat jij gaat doen binnen jouw rol als C++ ontwikkelaar; Je vertaalt de wensen van gebruikers naar een functioneel ontwerp. Je houdt je bezig met het ontwerpen, programmeren en testen van product aanpassingen. Je gaat nieuwe product releases implementeren in de projectteams. Je gaat de effecten van nieuwe

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Lead C++ Developer

The role of Lead C++ Developer As Lead C++ Developer at KUBUS you will be responsible for the implementation design of requirements and the software architecture of the desktop applications of BIMcollab, our platform for 3D model validation and issue management aimed at improving the quality of 3D building design models. Better 3D models lead to better buildings, thus contributing to the sustainability of the built environment with smarter use of materials, less waste and energy-efficient buildings. A good user experience is of paramount importance to us; we go for innovation and quality in our development. In your role as

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Low Code Ontwikkelaar

In het kort Als Low Code Developer werk je aan projecten bij en voor onze klanten, waarbij je voor het ontwikkelen van de oplossingen een technisch low-code platform gebruikt. Samen met het team streef je naar de beste oplossing en bepalen jullie de juiste aanpak. Je rol is divers en je bent van begin tot eind betrokken bij de ontwikkeling zowel de back-end en de front-end van de applicatie. Naast de ontwikkeling en oplevering, breng je ook advies uit aan de klant waarom bepaalde keuzes worden gemaakt. Je bent dan ook communicatief sterk en kunt je keuzes goed (inhoudelijk) onderbouwen.

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

26/05/2026 12:37:30
 
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.