/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
MySQL opdatering baseret på værdi i anden ~
Fra : Frowning Freezer


Dato : 19-09-04 08:53

Kan det ikke lade sig gøre at lave en enkelt SQL query (i MySQL 3.x)
som opdaterer en værdi i én tabel med en værdi fra en post i dens
relaterede tabel?

Lige nu kan jeg kun få den til at gøre det vha. 2 queries:

SELECT personID, category FROM people (denne køres en gang og loopes
igennem)

UPDATE events SET category = 'xxxxx' WHERE personID = x (denne køres
for hvert loop)

Dette virker fint men problemet er at det tager 72 sekunder i min
aktuelle database! Det er godt nok kun i en overgangsperiode (idet at
feltet category med tiden skal flyttes over i event tabellen) at dette
skal gøres men alligevel er det ikke holdbart.


 
 
Jacob Atzen (19-09-2004)
Kommentar
Fra : Jacob Atzen


Dato : 19-09-04 12:38

Frowning Freezer <pub1@hverdag.dk> writes:

> Kan det ikke lade sig gøre at lave en enkelt SQL query (i MySQL 3.x)
> som opdaterer en værdi i én tabel med en værdi fra en post i dens
> relaterede tabel?
>
> Lige nu kan jeg kun få den til at gøre det vha. 2 queries:
>
> SELECT personID, category FROM people (denne køres en gang og loopes
> igennem)
>
> UPDATE events SET category = 'xxxxx' WHERE personID = x (denne køres
> for hvert loop)
>
> Dette virker fint men problemet er at det tager 72 sekunder i min
> aktuelle database! Det er godt nok kun i en overgangsperiode (idet at
> feltet category med tiden skal flyttes over i event tabellen) at dette
> skal gøres men alligevel er det ikke holdbart.

Det lyder umiddelbart som om det er dit database skema, der trænger
til at blive forbedret og ikke dine queries. Bemærk i øvrigt, at
database spørgsmål hører til i database gruppen.

--
Med venlig hilsen
- Jacob Atzen

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste