UPDATE table from other table

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer Utrecht

De vacature Je gaat onderdeel uitmaken van ons software ontwikkel team dat werkt aan onze interne en externe systemen, waaronder Mijn Groendus. Het IT team is een zelfsturend team dat werkt volgens agile principes. We hebben een goed gedefinieerd applicatielandschap. Het backend is geschreven in ASP.NET Core met verschillende soorten data opslag in de cloud. Middels API’s communiceren onze Angular frontends met dit platform. Om alles soepel te laten draaien gebruiken we Azure. Als .NET developer ben je bezig met het backend, maar ook frontend stories komen vaak aan te pas. Binnen Groendus krijg je ruim baan voor full stack

Bekijk vacature »

Junior JAVA ontwikkelaar @ Regio Utrecht

2021-11-30 iSense Junior JAVA ontwikkelaar Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond en wil je graag aan de slag als Fullstack JAVA Developer? Lees dan snel verder! Want in februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie JAVA. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISNA51140 Wat ga je doen tijdens het Fullstack JAVA ontwikkeltraject? Vanaf 7 februari 2022 krijg jij via de Experis Academy een unieke kans om jouw IT-carrière een kickstart te geven en

Bekijk vacature »

Sogyo zoekt enthousiaste junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Technisch medewerker binnendienst (full time)

Technisch medewerker binnendienst (full time) Over Amcom Amcom bestaat ruim 45 jaar en is importeur van Icom. Dit Japanse radiocommunicatiemerk maakt zenders, ontvangers, marifoons, mobilofoons en portofoons voor verschillende toepassingen. De laatste jaren specialiseert Icom zich steeds meer in markten die volop in ontwikkeling zijn zoals communicatie via satelliet (Iridium) en via publieke 4G netwerken (LTE). Daarnaast zijn wij distributeur van Poly-Planar (waterdichte audiosystemen), Aquapac (waterdichte hoezen en rugzakken) en ProEquip (radiocommunicatie-accessoires). Het team bestaat uit 7 personen die professioneel, gedreven, vol enthousiasme en in een informele sfeer samenwerken. Wij zoeken Een collega die naast interesse in radio-communicatie-techniek heeft het

Bekijk vacature »

GEO-ICT/Smallworld GIS Ontwikkelaar

Bij onze klanten vormen Geographical Information System (GIS) systemen de basis van Asset Data Management. Zie jij het als een uitdaging om als onderdeel van een DEVOPS team de systemen van onze klanten te helpen vormgeven en continu te verbeteren? Wat ga je doen? Ons team heeft als doel nog relevanter te worden voor onze klantengroep van netbeheerders. Wij hebben een grote GEO-ICT Practice en daarmee zijn we in staat een fundamenteel deel van de basisregistratie van assets voor onze klanten vorm te geven. Dat doen we door het bedenken van concepten, onze klanten te adviseren op GEO-ICT gebied en

Bekijk vacature »

IT-traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Front-end developer @ Amsterdam

2021-11-23 iSense Front-end developer Are you a Front-end Developer who would like to work for one of the largest and most reputable financial organizations worldwide? Do you want to focus on projects where you will devise and implement the most innovative solutions (in-house) from scratch for recognized organizations (with amongst others Node.js and React)? Keep reading! ISKA51812 Organization If you're a Front-end Developer, this is your chance to get started at one of the largest and most reputable financial organizations worldwide. With various establishments, this organization forms an important player in the financial market. The company has approximately 5000 employees

Bekijk vacature »

Senior Java 8 Developer in High-Tech Industry

Is your interest triggered by software and in particularly Java? Do you have at least 8 years of experience with Java in a High-Tech Industry? Then you could be the perfect candidate. Our client is looking for an senior Java Developer, in Eindhoven, The Netherlands. Functie You will be end-to-end responsible for creating software in Java and Java EE, contributing to the development of several diagnostic applications in a scrum/Agile way of working. Diagnostic & Sequencing applications is done in several teams working together to deliver and integrate solutions to complex problems to enhance the diagnostic capabilities for our customers.

Bekijk vacature »

Mendix Consultant / Developer @ Oosterhout

2021-11-18 iSense Mendix Consultant / Developer Wil je als interne Consultant werken bij een organisatie die volledig Mendix-minded is en het hele ontwikkelproces van analyse, bouwen tot implementatie doen? Reageer dan snel! ISN48412 Organisatie De organisatie begeeft zich in de retail branche en focust zich op de tak mobiliteit. De organisatie telt ongeveer 3000 medewerkers die verdeeld zijn over meerdere vestigingen in het land. Een deel zit in Brabant en een deel zit in de Randstad. Voor deze functie kan er als standplaats worden gekozen tussen de zowel de regio Utrecht als de regio Breda. Voor nu is het nog

Bekijk vacature »

Senior AWS Cloud Developer IoT (NL) bij PostNL

Senior AWS Cloud Developer IoT (NL) Den Haag HBO/WO IT Professional PostNL zet trackers in om de logistieke pakkettenstroom realtime te kunnen managen. Met behulp van deze trackers, ookwel beacons genoemd, wordt het mogelijk om de beweging van 250.000 rolcontainers te volgen. Deze 250.000 beacons genereren in real time miljoenen berichten per minuut. Internet of Thing (IoT) is voor PostNL dan ook een belangrijke component in het digitaliseren van het logistieke proces. Wat ga je doen? Binnen het IoT platform vertalen we inkomende dat vanuit de rolcontainer trackers, zoals aankomst- en vertrektijd vanaf een PostNL locatie, naar relevante informatie ter

Bekijk vacature »

Senior Applicatieontwikkelaar Java of .NET

Wij zijn Turnn! In korte tijd hebben we als startup een platform ontwikkeld en in de markt gezet voor het organiseren van volledige mobiliteit van consumenten en medewerkers van bedrijven. Openbaar vervoer, deelauto’s, deelfietsen en nog veel meer kun je plannen, boeken, betalen met ons platform. Dit platform bestaat uit onder meer een apps, backend en een multimodale reisplanner. Met een jong en creatief team zijn we in rap tempo de markt aan het veroveren. Nu nog hoofdzakelijk in Nederland maar met grote plannen om de grens over te gaan. We zoeken naar gedreven, eigenwijze en ervaren developers om de

Bekijk vacature »

PHP Developer bij Getnoticed Nederweert

Briljante werken-bij websites voor clubs als ABN-AMRO, T-Mobile, KWF Kankerbestrijding en Boskalis. Online recruitmentmarketingcampagnes voor Waterschap Rivierenland, Randstad en VDL Nederland. Dit zijn zomaar een paar van de projecten die we al hebben binnengeharkt. En er kan nog meer bij. Welke projecten oogst jij als PHP developer bij Getnoticed? Je werkt samen met je scrumteam van designers, front- en backend developers, marketeers en projectmanager bij het uitwerken van stories voor zowel klant als in-house gerelateerde projecten. Wat je werkzaamheden zoal zijn Het bedenken van nieuwe functionaliteiten Het verbeteren van het Content Management Systeem op basis van Symfony Het optimaliseren van

Bekijk vacature »

Outsystems Developer @ Amsterdam

2021-11-19 iSense Outsystems Developer Ben je een Outsystemsdeveloper en houd je van ownership? Lijkt het je interessant om een team met developers samen te stellen en mooie applicaties te bouwen voor nationale en internationale klanten? Wil je werken in een organisatie die aan de vooravond staat van mooie ontwikkelingen? Dan is dit de functie voor jou! Reageer snel! ISNO50007 Organisatie Deze financiële instelling is gevestigd in hartje Amsterdam. Ze hebben als doel hun klanten op een effectieve en onafhankelijke manier te begeleiden bij belangrijke vermogensgerelateerde beslissingen. Privacy staat hoog in het vaandel, aangezien zij een maatschappelijke rol vervullen die nooit

Bekijk vacature »

Junior Fullstack .NET Developer @ Regio Den Haag

2021-10-21 iSense Junior Fullstack .NET Developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond OF heb jij middels cursussen je sporen verdiend in het programmeren en wil je graag aan de slag als Fullstack .NET Developer? Lees dan snel verder! Want in januari/februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie .NET. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISLE51103 Locatie Den Haag en omstreken Wat ga je doen als Junior Fullstack .NET developer? Vanaf januari/februari 2022 krijg

Bekijk vacature »

IT-traineeship Low Code Developer

Vind jij het leuk om veel contact te hebben met een klant en je te verdiepen in een domein? Lijkt het je interessant om enerzijds met de klant mee te denken, maar tegelijkertijd ook zelf een bijdrage te leveren aan de implementatie van een IT oplossing? Wij zijn op zoek naar starters die aan de slag willen als low-code engineer. In deze functie bouw je aan applicaties met behulp van een low-code platform, zoals Outsystems, Blueriq, Mendix of Pega. Dergelijke platformen stellen je in staat om snel een werkende applicatie te ontwikkelen en zijn hierdoor heel geschikt voor maatwerk projecten.

Bekijk vacature »
Dennis WhoCares

Dennis WhoCares

04/12/2017 22:18:39
Quote Anchor link
Dag allemaal,

daar zijn we weer met die vervelende vragen :D

Ik heb een best wel veel velden in een 'redelijk groot' tabel.

Ik maak tijdelijke tabellen aan, om zo meervoudige aanpassingen te kunnen doen. Zonder dat de eindgebruiker die 1-20seconden hier last van heeft.

Deze data wil ik graag weer terug updaten naar de 'live' tabel.
Maar zo lui als ik ben, wil ik niet ALLE velden gaan benoemen, want het is 100% zeker dat de veldnamen hetzelfde zijn.
Ik gebruik namelijk
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
CREATE TABLE tmp_' . $hdesk . ' AS
                            SELECT *
                            FROM dns_tickets
                            WHERE ticket_hdesk = ' . $hdeskID

tickets heeft een primary key ticket_id met Auto Increment.
Ik heb wel het een en ander opgezocht en kwam eigenlijk op het volgende uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
REPLACE INTO dns_tickets live SELECT tmp.* FROM tmp_' . $hdesk . ' tmp WHERE live.ticket_id = tmp.ticket_id

Maar hierover las ik ook weer dat deze functie eigenlijk eerst doet deleten, en dan doet inserten, klopt dit?
Is er een betere oplossing hiervoor ?
 
PHP hulp

PHP hulp

04/12/2021 05:49:45
 
Thomas van den Heuvel

Thomas van den Heuvel

04/12/2017 23:17:41
Quote Anchor link
Waar komt de noodzaak vandaan om een kopie te trekken? Dit lijkt mij onwenselijk omdat je dan ineens twee bronnen hebt van wat in wezen dezelfde informatie is.

Heb je al geprobeerd om bijvoorbeeld een (of meer) index(en) aan te maken voor snelle(re) lookup? Of gekeken hoe het komt dat e.e.a. traag is (aangenomen dat dat de reden is, of vanwaar dus deze wens)?
 
Dennis WhoCares

Dennis WhoCares

05/12/2017 08:15:27
Quote Anchor link
Hi Thomas,

Het komt doordat de update best wel wat langer duurt.
Ik moet alle tickets updaten mbt SLA's en kosten berekenen.
Per afdeling kunnen de kosten verschillen.

In eerste instantie dmv csv, xml en xls files update ik vrijwel alle tickets al met een vaste datum, zodat ik daarna kan zien welke geupdate zijn in de live tabel, en vervolgens in de import tabel zie welke nieuw zijn.

Alle updatet tickets moet ik bijwerken mbt SLA kosten en afdelingen, daarna de tickets uit de import tabel toevoegen, en ook nog eens bijwerken, met missende gegevens.

Dit x10 met een cronjob van 5 minuten, het liefst sneller, maar helaas heeft het update script iets tijd nodig om 100 duizenden tickets te bewerken.
M'n updates zijn op basis van de ticket_id, waarvan ik verwacht dat het niet veel sneller kan dmv extra index fields.

Hierdoor lopen gebruikers ietswat vertraging op.
Het gaat maar om seconden werk, soms iets langer dan 3 seconden in totaal om alles bij te werken, maar de tabel dns_tickets raakt gelocked, en staan queries in de wacht tijdens de updates na het importeren.

Dit wil ik graag teniet doen, door per helpdesk een copy te maken van de live tickets, incl. ID, en daarin te werken tot het klaar is, en dan in 1 klap de updates te verwerken.
(de inserts gebeuren wel op de live tabel, maar dat zijn aanzienlijk minder dan de updates)

Ik verwacht dat de eindgebruikers op deze manier geen tot zeer weinig vertraging oplopen, wat frustraties en ban's zal verminderen.
Bans in de zin van, qos bans omdat ze als kippen zonder kop refresh table blijven klikken (een ajax request dat de tickets ophaald op basis van hun filter en aantallen p. pagina)
 
Nick Vledder

Nick Vledder

05/12/2017 22:54:13
Quote Anchor link
Wat ik me afvraag, is of het noodzakelijk is om alle records van de tabel in een beweging te updaten en zo regelmatig ook. Zou je kunnen volstaan met enkel van records die geraadpleegd worden een actuele/ ge-update versie te tonen. Vervolgens ‘s nachts alle records bijwerken.
 
Dennis WhoCares

Dennis WhoCares

06/12/2017 20:58:09
Quote Anchor link
Hi Nick,

Ja dit is gewenst.
Binnen een paar miljoen tickets zijn er gemiddeld vrijwel ongeveer 150.000 aanpassingen, soms meer binnen 3 minuten :-/

Ik heb trouwens dynamische waardes, maar ik weet niet of de SQL server er vrolijk van wordt als ie zelf alle berekeningen in een klap moet uitvoeren en dus zelf de records al update tijdens de import ipv uitbesteden aan php.

Ik zit er bijna aan te denken om over te gaan naar een SAP backend.
Hoewel ik niet denk dat het er veel beter op zal gaan worden.

Ik ga nog wat verder stoeien, en anders zeg ik gewoon dat ze maar ietwat geduld moeten hebben of hun verwachtingen moeten aanpassen in het FO en een nieuwe change aanvragen.
 
Nick Vledder

Nick Vledder

07/12/2017 09:33:41
Quote Anchor link
Het gaat dus om enorm veel records (>1mln) met daarin veel aanpassingen in een kort tijdsbestek. Als ik het goed heb begrepen zijn er ook aanpassingen waar een bepaald(e) algoritme/ rekenregel aan ten grondslag ligt. Ik kan me voorstellen dat er op één moment slechts van een beperkt aantal records (<1mln, <150k en misschien zelfs <100) de SLA-kosten geraadpleegd worden en dus bekend hoeven zijn. Kortom, toepassing van die algoritmes over >1mln records met zo'n 150k aanpassingen kon wel 's beduidend meer resources kosten als het 'on the fly' toepassen van algoritmes op de basisgegevens (?).

Het wordt al complexer als je over meerdere records een totaalplaatje opvraagt ('SLA afdelingskosten'?), maar het is nog steeds te doen en misschien wel efficiënter als bewerkingen die ook nog 's een UPDATE en/of INSERT met zich meebrengen.

Databases verschillen ook in snelheid. Met voor soort database werkt SAP? HANA?
Gewijzigd op 07/12/2017 10:12:56 door Nick Vledder
 
Aad B

Aad B

07/12/2017 11:32:13
Quote Anchor link
Nick Vledder op 07/12/2017 09:33:41:
Databases verschillen ook in snelheid. Met voor soort database werkt SAP? HANA?
SAP werkt doorgaans met Oracle maar kan in kleinere omgevingen ook Microsoft en HANA werken. Oracle is marktleider in SAP. In alle gevallen is het RDBMS wel bereikbaar buiten SAP maar een herkenbaar datamodel is niet echt beschikbaar. Een tabel aangemaakt met het SAP frontend is niet 1:1 terug te vinden in het RDBMS
Gewijzigd op 07/12/2017 11:35:02 door Aad B
 
Dennis WhoCares

Dennis WhoCares

07/12/2017 20:05:54
Quote Anchor link
Hi Nick,

Het gaat in een totaal plaatje inderdaad om miljoenen records, waarvan er gemiddeld 150.000 updates zijn in kort tijdbestek.

Het 'on the fly' toepassen van de algoritmes en berekeningen kan wel, maar het gaat niet om enkele gebruikers, en inderdaad zijn de totalen het meest van belang en het visualiseren van de data.

Uiteraard is dit nooit van ALLE tickets, maar in tijdsbestekken, en per team.
Het bedrijf waar ik werk is wereldwijd en een van de marktleiders op logistiek transport.

Deze tickets komen uit vele helpdesks, welke langzaam maar zeker wel ver gaan uitdunnen tot 1 centraal systeem (eindelijk). Maar dat betekend niet dat de tickets minder worden ;-)

Op het moment heb ik meerdere servers, p.s. draaien SQL op OutSystems

Ik ben met kleine projectjes bezig met SAP Hana en Fiori, maar .. anyways ik voel dat we afdwalen :D
Kan ik simpelweg gewoon alle kolommen en records van tabel updaten naar tabel2 op tabel1.id = tabel2.id

Zonder alle veldnamen te specificeren, jullie begrijpen wel dat dit een uitgebreid en 'levend' project is, en als ik deze query elke keer moet aanpassen als ik weer een nieuwe variable erbij krijg per ticket, dat ik rekening moet houden om ALLE queries bij te werken van alle helpdesk imports..
Gewijzigd op 07/12/2017 20:06:28 door Dennis WhoCares
 
Nick Vledder

Nick Vledder

07/12/2017 21:45:48
Quote Anchor link
@Dennis Eerlijk gezegd durf ik deze vraag niet met een ja of nee te beantwoorden, omdat ik bij deze orde van grootte (# records / velden) zelf probeer te voorkomen SQL dit soort geheugen-intensieve operaties te laten uitvoeren.
 
Dennis WhoCares

Dennis WhoCares

08/12/2017 08:12:47
Quote Anchor link
Hi Nick,

welke geheugen-intensieve operaties bedoel je precies? Gehele tabellen heen en weer kopieren ?
Momenteel doe ik de berekeningen enz gewoon in php
 
Nick Vledder

Nick Vledder

08/12/2017 08:51:27
Quote Anchor link
Exact, INSERT en UPDATE kunnen behoorlijk veel capaciteit vragen. Terug naar hoofdvraag, hoe krijg je flexibiliteit als je extra velden gaat toevoegen .... Bij een MongoDB bijvoorbeeld heb je wat dat betreft (misschien) meer flexibiliteit.
Gewijzigd op 08/12/2017 15:55:28 door Nick Vledder
 
Thomas van den Heuvel

Thomas van den Heuvel

08/12/2017 17:01:20
Quote Anchor link
Is er uberhaupt wel een (goede) analyse gemaakt waarom het traag is? Waar zit de bottleneck? Zijn de (potentiële) probleempunten geïdentificeerd? Zou dit een kwestie kunnen zijn van serverconfiguratie (hetzij hardware, hetzij software)? En ja, mogelijk trekt je server (1 of meer?) het simpelweg niet. En als je zoveel queries hebt kunnen kleine optimalisaties potentieel heel veel winst geven.

Daarnaast (oorspronkelijke vraagstelling), met zoveel mutaties, wat voor garantie heb je dat het origineel niet gewijzigd wordt terwijl je in een kopie loopt te modderen? En als die constructie het origineel vergrendelt lijkt mij dit de vertraging alleen maar in de hand spelen omdat alles en iedereen daarop staat te wachten dan.
 
Dennis WhoCares

Dennis WhoCares

08/12/2017 20:29:51
Quote Anchor link
Hi Thomas,

ik vind dat je met zeer goede vragen komt.
Heb je enige tutorials/tips om dit uit te zoeken op een live systeem ?

Live monitoring mbt geheugen en cpu cores geven me geen indicatie dat het systeem het niet trekt.

Het orgineel wordt alleen en maar dan ook alleen door dezelfde scripts gewijzigd (op dat moment dat het script draaid wordt er wel een 'flag' gezet dat deze specifieke import voor die helpdesk al draait, dus mocht het zijn dat het een te lange operatie wordt en cronjobs over elkaar heen gaan lopen, zal dezelfde script niet draaien mits de 'flag' op 0 staat)
 
Thomas van den Heuvel

Thomas van den Heuvel

10/12/2017 16:29:40
Quote Anchor link
Ik ben geen database-expert maar ik denk dat je met een portie gezond verstand en enig inlevingsvermogen ver kunt komen. Om advies over een oplossingsrichting te kunnen geven, dat is nogal lastig omdat het, als ik het zo goed begrijp, nog niet echt duidelijk is wat de oorzaak is of oorzaken zijn (als je nu iets verandert, wat ben je dan eigenlijk aan het repareren?) en daarnaast weten we verder niets over het systeem zelf.

Is dit een pakket, of is dit zelf in elkaar gezet?
Wat voor tabeltypen gebruik je (MyISAM, InnoDB)?
PHP en MySQL versie (en type)?
Wat is je Client API library version? (zie phpinfo onder kopje mysqli)
Maak je gebruik van (foreign) keys en database-transacties?
Hoe luidt de "flow" / levensweg van een ticket?
Welke queries worden er allemaal uitgevoerd?
Zijn deze van zichzelf traag (kijk met EXPLAIN wat deze doen)?
Welke queries worden het vaakst uitgevoerd en valt hier wat winst te boeken?
Wat zegt eventuele logging van queries hierover (maar gezien de grootte van je dataset zou het loggen mogelijk de performance hiervan kunnen beïnvloeden)?
Geef je tussentijds resultaten vrij die je niet meer nodig hebt?
Is het mogelijk om (tussen)resultaten te cachen zodat deze niet elke keer opnieuw berekend hoeven te worden (hierbij moet je wel rekening houden met veranderingen in de gegevens die deze (tussen)resultaten samenstellen, je zult dan zaken opnieuw moeten berekenen)?
Je maakt ergens onderscheid tussen tickets via een datum, staat hier een index op, of wellicht zou je hier een apart veld van kunnen maken (live y/n met index)? Voor tickets die actueel zijn voeg je dan overal AND live = 1 toe ofzo, daarmee kap je al een heel groot deel van potentiële resultaten weg waar je niet meer doorheen hoeft te ploeteren. Of mogelijk zijn er meerdere statussen die een indicatie geven waar in de levensloop een ticket zich bevindt, of wellicht zijn er meerdere flags nodig (visible, deleted, whatever, ook hier geldt weer dat je dit dan in alle queries zult moeten meenemen).
Ook klinkt het gewoon alsof een of enkele tabellen VEEL te groot zijn, is het mogelijk om e.e.a. te archiveren?
Een mogelijk gevaarlijke operatie, maar heb je de tabellen ooit geOPTIMIZEd? Of gebeurt dit regelmatig? En met zo'n grote tabel is dit mogelijk een erg zware operatie...

En zo kan ik wss nog wel ff doorgaan :p.
 
Nick Vledder

Nick Vledder

12/12/2017 09:59:45
Quote Anchor link
In aansluiting op Thomas...

Je hebt al rekening gehouden met race-conditions (flag). Wat je zou kunnen doen, heel praktisch, is kijken in hoeverre je de UPDATE bewerking kan opsplitsen in kleinere batches. Vervolgens kun je onderzoeken hoe het zit met locks (ken je het verschil tussen MyISAM en InnoDB bijvoorbeeld)? Locks op records en locks op gehele tabellen. Etc., etc.
 
Aad B

Aad B

12/12/2017 11:38:20
Quote Anchor link
Dennis WhoCares op 08/12/2017 08:12:47:
Momenteel doe ik de berekeningen enz gewoon in php
Heen en weer kopieren en mogelijke bottleneck is wellicht ook SELECT * FROM naar php het transporteren van een hele tabel naar php (array) en vervolgens weer naar de database (UPDATE INSERT REPLACE) is geheugen intensief heen en weer vliegen van tabellen. Waarom in php opgelost? Met efficiente en intelligente SQL en/of databaseprocedures met berekeningen in de database kan je zonder php enorm veel sneller resultaat bereiken. Het heen en weer schuiven van data tussen php en MySQL is zeer tijdrovend en onnodig.
Gewijzigd op 12/12/2017 11:50:48 door Aad B
 



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.