| FAQ |
| Kalender |
|
|
|
|
#1 | |||
|
||||
|
Flitig postare
|
Vad är det för databas server du använder?
Om du använder MySQL skulle jag rekommendera dig att använda MyISAM/InnoDB beroende på hur du anser på 'row locking' samt 'table locking'. "Apparently MyISAM is faster than InnoDB. The only advantage InnoDB has over MyISAM is that it supports row locking, while MyISAM only supports table locking. Therefore, if lots of reads and writes are constantly being done to a very large table, it eliminates the constant database errors that using a MyISAM table would cause from the overload. InnoDB would therefore be a tad more reliable when you don't mind taking a small performance hit in exchange for not suffering from table locking issues." http://www.daniweb.com/web-developme...900#post196900 Jag skulle dock ha använt mig av MyISAM, med antingen smallint, mediumint, float eller decimal på fältet som håller aktievärdet eftersom det borde inte vara så stort. Decimal kan vara bäst eftersom det är avsett för penga värden. Det avrundas dock. Men skulle ändå använda det eftersom det tar bort onödiga värden (såsom en upprepande nummerföljd). Float lär vara snabbare än decimal för att den använder en egen del i din processor. (http://lists.mysql.com/mysql/201704) Du behöver också indexera de fält som du kommer använda när du söker efter resultat i tabellen. Om du har en VPS eller dedikerad server skulle jag rekommendera dig till att implementera Memcache så att du kan spara resultaten i ram minnet (vilket går betydligt snabbare att hämta än att köra MySQL queries hela tiden.) Om du bestämmer dig för att använda memcache skulle jag rekommendera dig att använda denna PHP class för att lätt implementera detta i din site. http://www.phpclasses.org/package/35...e-servers.html Senast redigerad av captaindoe den 2011-07-01 klockan 15:08 |
|||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Administratör
|
Citat:
Det finns en mängd saker som skiljer de två tabelltyperna åt. Med en bra confad server som inte ligger nära 0% writes så är det innodb som kommer hantera last och datamängder mycket bättre än myisam. Det beror t ex på primärnyckels-klustring, buffer poolen, buffrade writes osv osv.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
|
|
Svara med citat
|
|
|
#3 | |||
|
||||
|
Bara ett inlägg till!
|
Du tjänar ingenting alls på att slå ihop flera värden i en kolumn. Kör du MyISAM får du tvärtom stora prestandanackdelar då MyISAM är allra bäst när raderna har fast bredd. Dessutom är det hopplöst att ställa frågor mot datat eftersom SQL inte hanterar sådana sammanslagna typer speciellt bra.
För att inte tala om InnoDBs möjlighet att lätt sprida lasten mellan olika diskar (olika datafiler). |
|||
|
|
Svara med citat
|
| Svara |
|
|