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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Optimering af MySQL kald, SELECT og UPDATE~
Fra : Ukendt


Dato : 25-08-04 19:34

Hejsa.

Kan det lade sig gøre at lave en SELECT tabel1 og UPDATE tabel2 i et
kald.?

Gruden er at min udbyder beklager sig over jeg har for mange SQL kald
på min hjemmeside, i forhold til den traffikmængde jer har.

Bl.a. når jeg der skal vises banner jeg laver en del kald, som jeg
godt kunne tænke mig at gøre mindre.

For hvet banner jeg har, laver jeg 3 kald.

1. Vælger et tilfældigt banner med SELECT osv osv.
2. Undersøger om log records for valgte banner findes.
3. Indsætter eller opdatere log records for valgte banner.

Kan dette gøre mere smart, så jeg ikke skal lave 3 kald, f.eks. kan
nøjes med et kald, eller bare 2 er også en stor hjælp.


--
....::Hilsen Erik

 
 
Peter Brodersen (25-08-2004)
Kommentar
Fra : Peter Brodersen


Dato : 25-08-04 19:43

On Wed, 25 Aug 2004 20:34:12 +0200, Erik Hansen <mail.dk> wrote:

>Gruden er at min udbyder beklager sig over jeg har for mange SQL kald
>på min hjemmeside, i forhold til den traffikmængde jer har.

Det virker som et spøjst udsagn. Det er mere sandsynligt, at dine
opslag belaster for meget, fx på grund af en dårlig
datamodel/indeksering.

Det giver ikke så meget mening udelukkende at fokusere på antallet af
opslag, hvis et opslag i øvrigt er let og smertefrit.

Dette er måske ikke den store hjælp, hvis du ikke er vant til at
arbejde med databaser, men MySQL har en okay EXPLAIN-syntaks, der kan
fortælle om hvor mange rækker, MySQL-serveren skal bladre igennem for
et specifik SELECT-statement:
http://dev.mysql.com/doc/mysql/en/EXPLAIN.html


I andre tilfælde er der tale om sløve eller uvidende udbydere, der
kører med forældede versioner af MySQL, eller ikke har ofret fx lidt
querycache.

--
- Peter Brodersen
php -r 'print floor(8.2-0.2);'
perl -le 'print 5-4.9;'

Søg
Reklame
Statistik
Spørgsmål : 177516
Tips : 31968
Nyheder : 719565
Indlæg : 6408626
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste