sql >> Database teknologi >  >> RDS >> Mysql

Hvordan registrerer jeg udførelsestiden for at køre sql-sætninger, der er gemt i filer?

For at finde udførelsestidspunktet , bør du initialisere et datoobjekt ved starten af ​​programmet og derefter sammenligne det med et andet datoobjekt i slutningen af ​​programmet. Dette vil give dig en heltalsværdi for, hvor lang tid det tog at udføre. Brug derefter denne int, hvor som helst du har brug for den (f.eks. udskriv den til konsollen, til en fil osv.)

Date startDate = new Date();
//Run the rest of the program
Date endDate = new Date();
int msElapsedTime = startDate.getTime() - endDate.getTime();

Hvis du ikke har brug for at gøre noget i Java-programmet relateret til resultaterne af din forespørgsel, kan du holde dette ret simpelt ved at bruge runtime.exec() at få mysql til at udføre forespørgslerne. Den eneste store ulempe her er, at du ikke kan udskrive det resulterende antal berørte rækker:

Date startDate = new Date();
runtime.exec("mysql db_name < /home/liova/download/tpch/queries/Q1.sql");
Date endDate = new Date();
int msElapsedTime = startDate.getTime() - endDate.getTime();

Hvis du rent faktisk har brug for at gøre noget med resultaterne, så runtime.exec() vil ikke være nok for dig. Læs videre...

For at læse SQL-kilden , bare læs det som en tekstfil. Det vil være nemmest, hvis du har hver linje i SQL'en som en separat SQL-forespørgsel, da du ellers skal lave nogle parsing og justeringer. Her er et eksempel at læse en fil én linje ad gangen.

For at køre SQL , brug JDBC. Her er en tutorial på det. Punkterne 1 til 5 vil detaljere alt, hvad du skal bruge for at køre sql og bruge resultaterne (fra etablering af din sql-forbindelse til at køre forespørgslen til at behandle resultSet-objektet, der kommer tilbage). Hvis nogen af ​​disse trin volder dig problemer, er dit bedste bud at stille et separat spørgsmål, der er skræddersyet til det specifikke problem, du har i processen.



  1. Få adgang til en mysql-database fra ekstern vært/ip? (dvs.:mysql workbench)

  2. UPPER() – Konverter til store bogstaver i PostgreSQL

  3. Implementere et enkelt login til tre websteder i PHP?

  4. 2 funktioner til at få året fra en date i Oracle