Citat:
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 0 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='17112' ORDER BY id DESC LIMIT 2;
|
Om man tar ovanstående som exempel så har du troligen inte något index satt på 'namn' eftersom den måste leta igenom alla radera i tabellen trots att den bara ska hämta två stycken rader.
Citat:
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 619 *Lock_time: 611 *Rows_sent: 11021 *Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
|
Databasfrågor som tar över 10 minuter att köra dödar servern rätt snabbt. Om inte annat så har användaren ledsnat för länge länge sedan. Här skulle jag istället för 'active' använda mig av '1' eftersom det tar mindre plats och är lättare att indexera för MySQL. Den här frågan ska du koncentrera dig på först.
Generellt kan man säga att du bör i möjligaste mån ha index på de kolumner som du vill använda som urval (exempel: WHERE gender = '1')
Lär dig lite mer saker om just tabellstrukturen och vad som är bäst att göra där. Antingen söker du via Google eller så kikar du på http://forums.devshed.com där du kan hitta det mesta och även få hjälp med frågor.
|