Kom ihåg mig?
Home Menu

Menu


SQL-hjälp!

 
Ämnesverktyg Visningsalternativ
Oläst 2009-01-25, 22:56 #11
Landos avatar
Lando Lando är inte uppkopplad
Medlem
 
Reg.datum: Nov 2008
Inlägg: 242
Lando Lando är inte uppkopplad
Medlem
Landos avatar
 
Reg.datum: Nov 2008
Inlägg: 242
Citat:
Originally posted by WizKid@Jan 25 2009, 23:55
Skapar du ett index som är på wall_wall och wall_date så kommer den gå mycket fortare.
wall_wall hade jag redan men inte wall_date. Det kanske är en bra idé att lägga på gästboken, PM, forum osv också?

ska prova med planket först. tack!
Lando är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-25, 22:57 #12
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
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.
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-25, 23:04 #13
Landos avatar
Lando Lando är inte uppkopplad
Medlem
 
Reg.datum: Nov 2008
Inlägg: 242
Lando Lando är inte uppkopplad
Medlem
Landos avatar
 
Reg.datum: Nov 2008
Inlägg: 242
Citat:
Originally posted by WizKid@Jan 25 2009, 23:57
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.
Hur gör jag detta?
Lando är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-25, 23:16 #14
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
Hur man skapar index hittar du på: http://dev.mysql.com/doc/refman/5.0/en/cre...eate-index.html
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-26, 02:09 #15
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
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.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-26, 08:01 #16
Lyx Lyx är inte uppkopplad
Medlem
 
Reg.datum: Dec 2008
Inlägg: 256
Lyx Lyx är inte uppkopplad
Medlem
 
Reg.datum: Dec 2008
Inlägg: 256
Citat:
Originally posted by WizKid@Jan 25 2009, 23:55
Skapar du ett index som är på wall_wall och wall_date så kommer den gå mycket fortare.
Är det inte bättre att indexera Id't?
Lyx är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-26, 10:11 #17
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Citat:
Ursprungligen postat av Lyx
Citat:
Ursprungligen postat av WizKid
Skapar du ett index som är på wall_wall och wall_date så kommer den gå mycket fortare.
Är det inte bättre att indexera Id't?
wall_wall samt wall_date ingår i WHERE samt ORDER BY syntaxen, så de är bra att indexera. WHERE clausen är säkert bättre att indexera då en indexering egenligen är att låta en tabell bli sorterad så databasen enkelt hittar det den söker.
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-31, 22:18 #18
MRosensons avatar
MRosenson MRosenson är inte uppkopplad
Flitig postare
 
Reg.datum: May 2006
Inlägg: 358
MRosenson MRosenson är inte uppkopplad
Flitig postare
MRosensons avatar
 
Reg.datum: May 2006
Inlägg: 358
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
MRosenson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-02-06, 00:54 #19
mrjb mrjb är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 39
mrjb mrjb är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 39
~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.
mrjb är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 13:23.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017