Avatar billede dkklein Nybegynder
20. oktober 2002 - 18:37 Der er 9 kommentarer og
1 løsning

VARCHAR kontra TEXT

Man har en tabel med 2 felter som ser således ud:

CREATE TABLE phpbb_config (
  config_name varchar(255) NOT NULL default '',
  config_value varchar(255) NOT NULL default '',
  PRIMARY KEY  (config_name)
) TYPE=MyISAM;

Den acesses enten via en full table scan eller via specifik værdi i config_name.

Der er ca 60 records i tabellen som anvendes heftigt på et website.

Hvor stor en effekt - hvis nogen - vil det have at ændre tabellen til

CREATE TABLE phpbb_config (
  config_name varchar(255) NOT NULL default '',
  config_value text NOT NULL,
  PRIMARY KEY  (config_name)
) TYPE=MyISAM;

MVH Tommy
Avatar billede erikjacobsen Ekspert
20. oktober 2002 - 18:40 #1
text er lidt langsommere end varchar
Avatar billede limemedia Nybegynder
20. oktober 2002 - 18:42 #2
anvend fx tinytext der tillader 255 tegn fremfor text's 655xx tegn. Jeg anvender ofte en tinytext fremfor en varchar og mærker intet til performance tab.
Avatar billede dkklein Nybegynder
20. oktober 2002 - 18:43 #3
Grunden til jeg ville anvende text er jeg kunne have brug for at gemme mere end 255 tegn.
Avatar billede erikjacobsen Ekspert
20. oktober 2002 - 18:45 #4
Er det ikke sådan, lj, at text og blob ligger i en separat fil,
der så skal åbnes og være åben. Dermed kræver det lidt. På en
maskine med RAM nok mærker du ingenting :)
Avatar billede limemedia Nybegynder
20. oktober 2002 - 18:52 #5
erik >> du stikker dybt så sent om natten, kan faktisk ikke huske det som paratviden... Suser ind på mysql og graver lidt

dkklein >> er behovet for mere end 255 tegn til stede, har du reelt ikke noget alternativ. Men som Erik siger, på dagens maskiner mærker du intet.
Avatar billede dkklein Nybegynder
20. oktober 2002 - 18:53 #6
Jeg læse og selv på mysql.com i øjeblikket men har ikke fundet noget brugbart endnu.
Avatar billede limemedia Nybegynder
20. oktober 2002 - 18:55 #7
Note that each BLOB or TEXT value is represented internally by a separately allocated object. This is in contrast to all other column types, for which storage is allocated once per column when the table is opened.

Ref: http://www.mysql.com/doc/en/BLOB.html
Avatar billede erikjacobsen Ekspert
20. oktober 2002 - 19:11 #8
Ok - ikke separat fil .. men lidt "længere væk" end en varchar
Avatar billede dkklein Nybegynder
01. januar 2003 - 16:11 #9
erikjacobsen: hvis du svarer får du point'ene
Avatar billede erikjacobsen Ekspert
01. januar 2003 - 16:29 #10
ok da
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester