import csv -> update other table

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

WordPress & Azure Developer

Dit ga je doen Zowel front- als back-end development aan de online website omgeving; Het up-to-date houden van alle WordPress-sites; Koppelingen maken tussen applicaties; Meedenken en adviseren over verbeteringen; Development door middel van WordPress, Javascript, HTML en CSS; Werken binnen Scrum/Agile team. Hier ga je werken Voor een grote overheidsinstelling in Den Haag zijn wij opzoek naar een WordPress developer, met kennis en ervaring op het gebied van Azure. De organisatie zit in een grote transitie waarbij de gehele website/online omgeving vernieuwd zal gaan worden. Binnen dit Scrum/Agile team ben je verantwoordelijk voor deze grote migratie/ombouw van de omgeving. De

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

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 Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Pagina: « vorige 1 2

Ben van Velzen

Ben van Velzen

24/06/2017 22:44:31
Quote Anchor link
Dit is allemaal wel erg weinig.
Begin eens met de key_buffer_size te verhogen naar 128MB. Stel ook een innodb_buffer_pool_size in, bijvoorbeeld ook 128MB. Je hebt ruimte zat, dus je kan dit allemaal nog veel hoger maken. Misschien heeft een wat grotere query_cache_size ook nut voor je leessnelheid, bijvoorbeeld ook 128MB.

Dit zijn puur eerste getallen, je kan dit vrij fors verhogen indien gewenst. innodb_buffer_pool_size geeft je in de meeste gevallen de grootste winst, en deze wordt vaak enkele gigabytes groot gemaakt. 5-6GB op een 8GB server is niet ongewoon.
Gewijzigd op 24/06/2017 22:46:15 door Ben van Velzen
 
PHP hulp

PHP hulp

06/05/2024 04:23:25
 
Dennis WhoCares

Dennis WhoCares

24/06/2017 23:37:31
Quote Anchor link
Hi Ben,

ik heb ze naar 6GB gezet, ook innodb, maar.. het blijft net zo traag -.-
(ook de full processlist, laat alleen mijn query zien, dus zijn geen andere queries gaande)
 
Ben van Velzen

Ben van Velzen

25/06/2017 00:23:08
Quote Anchor link
Je kan niet alles klakkeloos zo hoog zetten, dan fiets je door je geheugen heen en ga je swap eten, en dat is ook weer traag. Je zult gericht waarden moeten tunen (en uiteraard ook tussentijds restarten).

Ook noem je het feit dat je op een VPS zit. Weet je de backing voor de storage hier ook? Als hier geen behoorlijke (SSD) cache laag tussen zit zal er altijd traagheid blijven, gewoon omdat de gemiddelde VPS storage environment beperkt is in het aantal iops dat je redelijkerwijs kunt doen. Je bent immers 1 van de velen die op dezelfde storage zitten te hameren.
Gewijzigd op 25/06/2017 00:36:08 door Ben van Velzen
 
Dennis WhoCares

Dennis WhoCares

25/06/2017 21:10:25
Quote Anchor link
Hi Ben,

Ik heb geen idee wat voor SSD enz erin zit

Ik heb met een optimizer en wat proberen en doen, de config aangepast:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
key_buffer_size         = 32M
max_allowed_packet      = 16M
thread_stack            = 256K
thread_cache_size       = 50
myisam-recover-options  = FORCE,BACKUP
max_connections        = 500
query_cache_limit       = 128M
query_cache_size        = 128M
innodb_flush_method            = O_DIRECT
innodb_log_files_in_group      = 2
innodb_log_file_size           = 256M
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table          = 1
innodb_buffer_pool_size        = 8G


maar de query duurt nog steeds 58 seconden.
Behalve als de 'doel tabel' leeg is, dan is het 0.8 seconden genoeg om 22000 records te importeren.
Het updaten van bestaande tickets vanuit deze csv tabel duurt ook slechts een 0.7 seconden gemiddeld.
Dus ik denk dat er iets is met de query of de tabellen..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
INSERT INTO csvInsertTest (ticket_code,ticket_summary,ticket_uniquecode,ticket_source)
SELECT csv.ticket_code, csv.Summary,CONCAT('dimble_',csv.TicketCode)
FROM csvImport csv
LEFT JOIN csvInsertTest t ON t.ticket_uniquecode = CONCAT('dimble_',csv.TicketCode)
WHERE t.ticket_uniquecode IS NULL

Maar ik weet niet goed hoe ik dit het beste kan debuggen en fixen..



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT csv.ticket_code, csv.Summary,CONCAT('dimble_',csv.TicketCode)
FROM csvImport csv
LEFT JOIN csvInsertTest t ON t.ticket_uniquecode = CONCAT('dimble_',csv.TicketCode)
WHERE t.ticket_uniquecode IS NULL

Deze query alleen al werkt 57 seconden..
Gewijzigd op 25/06/2017 21:38:12 door Dennis WhoCares
 
Ivo P

Ivo P

25/06/2017 22:30:58
Quote Anchor link
voeg anders eens een kolom toe aan de tabel csvInsert.
laten we zeggen "gedaan" en maak dat een tinyint, default 0

je load-data query veranderen we in

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." INTO TABLE csvTickets
      (ticket_code,ticket_summary,ticket_uniquecode,ticket_source)
      FIELDS TERMINATED BY ".$pdo->quote(';')."
      LINES TERMINATED BY ".$pdo->quote("\n"))


op regel 2 noem je, in dezelfde volgorde als in de csv-file de kolommen. En de kolom Gedaan, laten we achterwege

de update query wordt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
UPDATE dns_tickets dns
INNER JOIN csvTickets csv
ON dns.ticket_code = csv.TicketCode
SET dns.ticket_watchers = csv.Watchers
    csv.gedaan = 1
WHERE dns.ticket_source = 2


Alle records die in csvTickets staan met de waarde 0 bij Gedaan, zijn dus niet ge-update.

Die wil je dan mi. alsnog inserten:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
INSERT INTO csvImport (ticket_code,ticket_summary,ticket_uniquecode,ticket_source)
     SELECT csv.TicketCode, csv.Summary,CONCAT('dimble_',csv.TicketCode)
     FROM csvImport csv
     WHERE gedaan = 0;


nb: i mis een kolom in deze laatste query: er wordt in 4 kolommen geinsert, maar de select heeft er maar 4. Maar ik kopieer die van jouw query hierboven
 
Dennis WhoCares

Dennis WhoCares

25/06/2017 23:01:33
Quote Anchor link
Ivo! De held!

zoiets vroeg ik idd in een paar comments terug, of er met de update ook de andere tabel kunnen updaten :D
Ik ga dit morgen gelijk ff toepassen.

over de NB
ja dat kan idd kloppen
kopieren planken en doen, dr zijb uiteraard meer velden, maar die doen er niet zo toe.
Ik zal ze morgen ff nalopen :)

ik neem ook aan dat t csv.gedaan moet worden :)
Nogmaals bedankt!
Morgenochtend gelijk testen en toepassen
 
Ivo P

Ivo P

26/06/2017 00:00:37
Quote Anchor link
er mist nog een komma in het SET gedeelte.

Als de kolomnamen voorkomen in meerdere tabellen _moet_ je de tabelnaam noemen.
Zo niet, dan is de tabelnaam optioneel.

Maar het is wel aan te raden, want over 17 maanden als je de code voer iets omoet aanpassen, dan weet je echt niet meer welke kolom bij welke tabel hoorde
 
Dennis WhoCares

Dennis WhoCares

29/06/2017 22:56:01
Quote Anchor link
ik wil hierbij even iedereen bedanken :)
Het werkt geheel als gewenst.
de extra kolom 'gedaan' erbij en vervolgens de records waar 'gedaan' 0 is gewoon importeren.

Dit werkt ook weer 0,8 seconden voor een extra 1000 records op het moment

Het enige rare :
als ik de csv file importeer en ik benoem de namen van de kolommen op volgorde zoals ze in de csv staan.
krijg ik niet het aantal imports terug als ik gebruik maak van return $pdo->exec($loadDataQuery)
Ik heb het geprobeerd om de kolommen gelijk na tabelnaam te noemen, en helemaal aan het einde na de settings (field en line seperation, en eventueel skip lines)

Dus ik heb deze even achterwege gelaten. Ik heb wel voor de zekerheid een paar 'dummy' kolommen gemaakt voor het geval dat ;-)
De opmaak van de csv zou in principe niet meer moeten/mogen veranderen.

Maar ik ben zeer tevreden en snelheid is van minuten naar enkele seconden gegaan, geweldig
 

Pagina: « vorige 1 2



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.