..
I 'dobro poznato da ispravan upit za upravljanje je preduvjet za stabilan i učinkovitu provedbu.
U ovom članku ćemo predstaviti malo poznate, ali vrlo moćan sintakse, ja govorim o O DUPLIKAT KEY UPDATE klauzulu.
Ova klauzula se koristi tijekom INSERT izjava i njegova svrha je da se provjeriti prije umetanja, tu je dupliciranje primarni ključ (primarni ključ) ili jedinstveni ključ (jedinstveni ključ), a ako se to dogodi motor un'UPDATE MySQL umjesto toga umetnuti.
Prednost ove klauzule je jasno: pišete jedan upit umjesto dva s prednostima u pogledu performansi i kod čišćenja.
Uzmimo primjer. Pretpostavimo da želimo napraviti jednostavna skripta koja obavlja logiranje posjetitelja na našim stranicama. Ispod tablice strukture naše DB:
Zahvaljujući sintaksa INSERT ... O DUPLIKAT KLJUČ UPDATE ... možemo postići isti rezultat sa jednim upitom:
Ip_visitatori INSERT INTO VRIJEDNOSTI ('123 .123.123.123 ', 1, sada ())
O ključnim DPLICATE
UPDATE numero_visite numero_visite = + 1, ultima_visita = SADA ();
Dakle, ako je IP nije umetanje je napravio, inače pokrenete jednostavno ažuriranje utječe zapisa.
Korištenjem ove sintakse omogućuje vam da dobivanje koristi u pogledu performansi jednaka 30%.
Uz malo "mašte i genijalnosti klauzule u pitanju može biti vrlo korisno u raznim okolnostima.
Na primjer možemo koristiti u kombinaciji s uređajem.
Evo primjera: Pretpostavimo da imate tablicu hipotetski online aukcija web strukturiran na sljedeći način:
INSERT INTO ponude VRIJEDNOSTI (1, 120) O ključnim DPLICATE UPDATE migliore_offerta = IF (vrijednosti (migliore_offerta) <120, 120, VRIJEDNOSTI (migliore_offerta))Kroz jednostavan upit ćemo riješiti u jednom naletu ... Inače bismo morali koristiti nekoliko upita što je rezultiralo rasipanje resursa (i veći rizik od pogrešaka).
| |
MS Access (tečaj)
Saznajte kako stvoriti i upravljati bazama podataka jednostavno i brzo. Počevši od 29 €. |
| |
MySQL (tečaj)
Upravljanje open-source baza podataka. Počevši od 39 €. |
| |
SQL i baze podataka (tečaj)
Stvaranje i upravljanje relacijskim bazama podataka. Počevši od 39 €. |