WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Sökteknik SQL (https://www.wn.se/forum/showthread.php?t=14901)

martine 2006-07-04 10:27

Citat:

Originally posted by Blackex@Jul 4 2006, 08:14
Citat:

For MyISAM tables, if you do not have any variable-length columns (VARCHAR, TEXT, or BLOB *columns), a fixed-size row format is used. This is faster but unfortunately may waste some space.

Kanske värt att understryka:if you do not have any variable-length columns, alltså en riktig effektivitetsvinst får man antagligen bara om man håller hela tabellen med fasta storlekar (DATE, INT, CHAR etc) och helt undviker t ex TEXT och VARCHAR i den tabellen.

Jag håller med eg0master om att VARCHAR kan vara mer praktiskt ur platsbesparingssynpunkt, men frågan här var ju egentligen hur man kan få snabbare sökningar. Och det ger CHAR. Tycker kanske det var lite överdrivet att gnälla på Blackex, även om inlägget var saxat från doc:en så var det relevant.

Citat:

garanterat exaklt lika långa värden (t.ex. bokstavsförkortningar för stater i USA eller Län i sverige).
Vad det gäller ett begränsad antal strängar som inte förändras ofta skulle jag föreslå ENUM istället för (VAR)CHAR, vilket borde ge betydligt snabbare sökningar i större tabeller.

iXam 2006-07-24 00:54

Nackdelen med char(NUMMER) mot varchar är att det tar *massor* av extrautrymme. Utrymme som man kan använda till att cacha data/index.

Och ett tips dom många missar är att lagra IP-nummer som "dotted quad" (222.222.222.222) istället för det 32-bitars nummer det egentligen är.

Edit : *suck* Jag SKA läsa färdigt tråden INNAN jag kommenterar ;)


Alla tider är GMT +2. Klockan är nu 21:19.

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