..
En 'bekend dat een correcte vraag het management is een voorwaarde voor een stabiele en efficiënte uitvoering.
In dit artikel zullen we een weinig bekende, maar zeer krachtige syntax aanwezig is, ik heb het over de ON DUPLICATE KEY UPDATE clausule.
Deze clausule wordt gebruikt tijdens een INSERT-instructie en heeft als doel na te gaan, vóór het inbrengen, is er een verdubbeling van een primaire sleutel (primaire sleutel) of een unieke sleutel (unieke sleutel), en als dit gebeurt de motor un'UPDATE MySQL zal in plaats daarvan in te voegen.
Het voordeel van deze clausule is duidelijk: je schrijft een query in plaats van twee met voordelen in termen van prestaties en code opruiming.
Laten we een voorbeeld nemen. Stel dat we willen een simpel script dat de registratie van bezoekers van onze site presteert te maken. Onder de tabel structuur van onze DB:
Dankzij de syntaxis INSERT ... Op dubbele KEY UPDATE ... we kunnen hetzelfde resultaat bereiken met een enkele query:
INSERT INTO ip_visitatori VALUES ('123 .123.123.123 ', 1, NOW ())
OP DE BELANGRIJKSTE DPLICATE
UPDATE numero_visite numero_visite = + 1, ultima_visita = NU ();
Dus als het IP is de opname wordt gemaakt, anders loop je een simpele update van de getroffen record.
Met behulp van deze syntax maakt het mogelijk om het verkrijgen van een voordeel in termen van prestaties gelijk aan 30%.
Met een beetje verbeelding en vindingrijkheid van de clausule in kwestie er kan zeer nuttig zijn in verschillende omstandigheden.
Zo kunnen we dit gebruiken in combinatie met een aandoening.
Hier is een voorbeeld: Stel je hebt een tabel met een hypothetische online veiling site als volgt opgebouwd:
Biedt INSERT INTO VALUES (1, 120) OP DE BELANGRIJKSTE DPLICATE UPDATE migliore_offerta = IF (VALUES (migliore_offerta) <120, 120, WAARDEN (migliore_offerta))Via een eenvoudige query we opgelost in een klap ... Anders zouden we hebben moeten een aantal vragen te gebruiken met als gevolg een verspilling van middelen (en een grotere kans op fouten).
| |
MS Access (Advanced)
Leer hoe het maken en beheren databases snel en gemakkelijk. Vanaf 29 €. |
| |
MySQL (Cursus)
Beheer van de open source database. Van 39 €. |
| |
SQL en Database (Cursus)
Maken en beheren van relationele databases. Van 39 €. |