effectieve update query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

.NET developer

Functie Heb jij veel kennis van ASP.NET Webforms en wil jij juist de overstap maken naar ASP.NET Core? Wij zijn per direct op zoek naar een ervaren .NET Webdeveloper die met ons samen ons platform wilt herschrijven van ASP.NET Webforms naar ASP.NET Core. Voor jou de unieke kans om met ons samen te innoveren en kennis op te doen van de nieuwste technieken binnen de Microsoft Stack. Wij hebben een development team met 10 IT specialisten bestaande uit onder andere 4 backend .NET developers en twee front-end developers. Wij zijn continu bezig om ons als team en bedrijf te blijven

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

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 »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

Bekijk vacature »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! 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. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

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

24/04/2024 05:32:24
 
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.