Avatar billede ken9 Nybegynder
09. august 2006 - 19:20 Der er 11 kommentarer

Langsommere database?

Hej eksperter

Jeg har et lille spørgsmål. Kommer ens database til at køre >betydelig< langsommere, hvis der er mange posts i? Hvis ja, ved hvilken grænse bør man så tømme den?

På forhånd tak :)
Avatar billede erikjacobsen Ekspert
09. august 2006 - 19:25 #1
Hvis du laver forespørgsler, der ikke udnytter et index/primær nøgle, så kommer den til at køre langsommere, ret hurtigt.

Hvis dine forespørgsler bruger index/primær nøgler kan du sagtens have et par millioner rækker, uden der sker det store - alt andet lige ;)
Avatar billede Slettet bruger
09. august 2006 - 19:27 #2
Har idag nogle meget store database i mySQL. Havde engang et hastighedsproblem, men efter lidt indexsering virker det hele perfekt igen..

Så hvis du er en ordentlig indexsering så kører det.
Avatar billede ken9 Nybegynder
09. august 2006 - 19:44 #3
Okay :-)

Jeg er ved at lave et logsystem der registrerer alt hvad man laver på min side. Målet er ca. 200.000 brugere, og der bliver gerne oprettet over 10-15 rækker hver gang en bruger er inde og kigge, så det kan jo hurtigt blive til mange.

Men jeg har ID på, med primær nøgle.. så det burde være fint? oder was :-)
Avatar billede Slettet bruger
09. august 2006 - 20:03 #4
Det er kræver noget, er hvis du skal bruge nogle informationer fra tabellerne. Hvis det kun er in INSERT i en tabel for de 200.000 brugere. så går det nok.. Men hvis denne sammen noget Select med join osv. så begynder det at kræve index af nogle data.
Avatar billede ken9 Nybegynder
09. august 2006 - 20:10 #5
Hver bruger kan selv gå ind og se deres log-system når de er logget ind.
Avatar billede erikjacobsen Ekspert
09. august 2006 - 20:12 #6
Dine forspørgsler skal bruge et index på din tabel, fx brugerid, hvis det bliver brugt i en SELECT
Avatar billede ken9 Nybegynder
09. august 2006 - 20:30 #7
$query_log = sprintf("SELECT * FROM log WHERE brugernavn = '%s' ORDER BY id DESC", $colname_log);
Avatar billede ken9 Nybegynder
09. august 2006 - 20:30 #8
er den ikke fin nok? :)
Avatar billede erikjacobsen Ekspert
09. august 2006 - 20:40 #9
Det kan man ikke se. Der skal være et index på feltet brugernavn.
Avatar billede barklund Nybegynder
10. august 2006 - 09:22 #10
Har dine brugere ikke et id? Brug hellere et bruger-id end et brugernavn - tal er hurtigere at indeksere og slå op i end strenge. (skulle jeg bestemt mene)
Avatar billede coderdk Praktikant
25. august 2006 - 02:55 #11
Og hvis jeg kender mysql ret, skal der være et delt index på brugernavn og id (pga hans order by) - MySQL query planner er bare underlig ;P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester