FAQ |
Kalender |
![]() |
#11 | |||
|
||||
Medlem
|
Citat:
ska prova med planket först. tack! |
|||
![]() |
![]() |
![]() |
#12 | ||
|
|||
Mycket flitig postare
|
MySQL kan bara använda ett index åt gången så min tanke var att du skapar ett index som innehåller både wall_wall och wall_date.
|
||
![]() |
![]() |
![]() |
#13 | |||
|
||||
Medlem
|
Citat:
|
|||
![]() |
![]() |
![]() |
#14 | ||
|
|||
Mycket flitig postare
|
Hur man skapar index hittar du på: http://dev.mysql.com/doc/refman/5.0/en/cre...eate-index.html
|
||
![]() |
![]() |
![]() |
#15 | ||
|
|||
Klarade millennium-buggen
|
Ett tips är att alla kolumner som finns med i WHERE-satsen MÅSTE vara indexerade eller vara primärnycklar. Alla främmande nycklar bör oxo vara indexerade.
Som WizKid skrev så bör manoptimera indexen efetr den ordning som indexen används i WHERE resp JOIN-satser så att SQL-motorn kan använda optimerade index. Detta är generellt för de flesta relationsdatabaser. Så fort du frsöker villkora på en kolumn som inte är indexerad får du en table-scan, dvs då måste sql-motorn i genomsnitt söka igenom halva tabellen och läsa 500 000 poster om du har en miljon totalt, därför går det segt. Har du index så kan du ofta klara dig med ett fåtal diskaccesser. |
||
![]() |
![]() |
![]() |
#16 | ||
|
|||
Medlem
|
Citat:
|
||
![]() |
![]() |
![]() |
#17 | |||
|
||||
Klarade millennium-buggen
|
Citat:
|
|||
![]() |
![]() |
![]() |
#18 | |||
|
||||
Flitig postare
|
Förstår att de handlar om hur man gör i SQL, men vad ja förstod så handlade de om att de blev mycket inlägg i ett klotterplank?
Är de inte smidigare och bättre att göra så att när de är över 200 inlägg så tas de älsta inlägget bort så fort ett nytt postas? Eller att de sker en automatisk rensning till exempel på söndagar? En tanke bara! //Micke |
|||
![]() |
![]() |
![]() |
#19 | ||
|
|||
Nykomling
|
~200k rader borde inte vara några problem efter att du fixat de index som förslagits här, men säg att den siffran tio- eller hundradubblas och du inte vill städa tabellen på inlägg, kan det vara värt att titta på nåt som kallas för "horizontal partitioning".
I korthet innebär det att du delar upp en jättestor tabell i flera mindre tabeller, där applikationen utifrån en gemensam nämnare väljer vilken tabell som ska läsas ifrån. MySQL 5.1 har inbyggt stöd för detta till och med om du inte vill koda eget. |
||
![]() |
![]() |
Svara |
|
|