/ 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
Forespørgselsetid
Fra : Yocal


Dato : 07-02-06 15:34

Hejsa,

Er der nogen "rigtig" måde at teste forespørgselshastigheden på en
mysql server på - bruger ASP3.0... Det eneste jeg kan komme på er at
checke now() før og efter conn.execute(sql) og sammenligne de to
resultater.

// Yoc.


 
 
Kim Andersen (07-02-2006)
Kommentar
Fra : Kim Andersen


Dato : 07-02-06 15:53

Det er vel mere korrekt at tag tiden inden SQL kommando og en efter.

Kode:

dtStartTime = GetCurrentTime()

SQL.Query("SELECT * FROM hugedatastore WHERE _name LIKE '%brian%'")

dtEndTime = GetCurrentTime()

dtTimeUsed = dtEndTime - dtStartTime


/Kim



Kim Emax (09-02-2006)
Kommentar
Fra : Kim Emax


Dato : 09-02-06 22:49

Kim Andersen wrote on 07-02-2006 15:53:
> Det er vel mere korrekt at tag tiden inden SQL kommando og en efter.
>
> Kode:
>
> dtStartTime = GetCurrentTime()
>
> SQL.Query("SELECT * FROM hugedatastore WHERE _name LIKE '%brian%'")
>
> dtEndTime = GetCurrentTime()
>
> dtTimeUsed = dtEndTime - dtStartTime

Not good, det giver vidt forskellige resultater afh. om webserveren er
belastet når man prøver første gang og anden gang, også selvom du prøver
to gange i træk. MySQL har en kommandoprompt, der spytter querytime ud,
når den viser resultatet, det er langt bedre og stadig... afh. af om
databasen er belastet, når det prøves af.

--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
Konsulentbistand, programmering, design & hosting.
http://www.masterminds.dk

Anon (08-02-2006)
Kommentar
Fra : Anon


Dato : 08-02-06 09:37

Yocal wrote:
> Er der nogen "rigtig" måde at teste forespørgselshastigheden på en

Hvad mener du helt præcist med "forespørgselshastigheden"?

- Er det tiden fra at du sender forespørgslen til at du har et dataset
tilbage på klienten?
- Er det tiden fra at sql-serveren modtager forespørgslen, til at den er
klar til at sende datasettet tilbage?
- Er det tiden fra at sql-serveren modtager forespørgslen, til at den er
færdig med at sende datasettet tilbage?
- Er det tiden fra at sql-serveren begynder at behandle forespørgslen
til at den er færdig med at behandle den?
- ...

Anon

Martin (08-02-2006)
Kommentar
Fra : Martin


Dato : 08-02-06 21:15

Yocal wrote:
> Hejsa,
>
> Er der nogen "rigtig" måde at teste forespørgselshastigheden på en
> mysql server på - bruger ASP3.0... Det eneste jeg kan komme på er at
> checke now() før og efter conn.execute(sql) og sammenligne de to
> resultater.
>
> // Yoc.
>

Det simpleste må vel være at bruge konsollen.
mysql -l user -p
skriv password
use database;
skriv din select;

så står der hvor lang tid queryen tog :)

Morten Snedker (14-02-2006)
Kommentar
Fra : Morten Snedker


Dato : 14-02-06 14:14

On 7 Feb 2006 06:34:28 -0800, "Yocal" <yocal@60696867.dk> wrote:

>Hejsa,
>
>Er der nogen "rigtig" måde at teste forespørgselshastigheden på en
>mysql server på - bruger ASP3.0... Det eneste jeg kan komme på er at
>checke now() før og efter conn.execute(sql) og sammenligne de to
>resultater.

Nej, der er ikke nogen "rigtig" måde.

Et svar, der givetvis ligger ved siden af, hvad du håber på:

Der er uendeligt mange parametre og knapper at dreje på, og efter min
mening skal de alle vurderes i forhold til den specifikke opgave:

Hvor meget og hvordan cacher serveren (tager den samme tid anden gang
du kører den?)? Køres det gennem en stored procedure? Er dit view
statisk, eller kaldes det med forskellige parametre fra gang til gang
(jf. caching)? Skal tiden for kørslen måles fra serveren eller på
klienter, der står vidt forskellige steder i netværket (kørslen tager
givetvis ikke den samme tid alle steder fra)....etc etc.

Efter at have dyrket "det der med tuning af views", er jeg kommet frem
til:

Hvis brugeren synes det er "fint" - og det samlede system i øvrigt
ikke belastes uhensigtsmæssigt - så fungerer det efter hensigten.

Og endeligt: der er FANTASTISK meget at hente på korrekt indeksering.


mvh /Snedker

Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408173
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste