MySQL: TEXT vs. VARCHAR...

Artikeln utforskar prestandaskillnaderna mellan TEXT och VARCHAR i MySQL, särskilt efter att VARCHAR fick en utökad maxlängd till 65 535 tecken i MySQL 5.0.3. Författaren konverterade TEXT-fält till VARCHAR(30000) i hopp om att minska disk-I/O och förbättra sorteringsprestanda för MyISAM-tabeller. Denna ändring resulterade oväntat i en kraftig ökning av serverbelastning, sidladdningstider och diskaktivitet på den skarpa webbplatsen. Med hjälp av verktyg som iotop och Windows Performance Tools (ETW/xperf) diagnostiserades problemet till att MySQL skapade stora temporära tabeller på disk även för de nya VARCHAR-fälten, vilket orsakade prestandaförsämringen. Slutsatsen är att även om VARCHAR kan lagras in-row, kan stora VARCHAR-fält fortfarande tvinga temporära tabeller till disk vid vissa operationer, vilket kräver noggrann testning.