Thursday, January 12th, 2006 | Author: Raven

På jobbet har vi haft lite problem med vissa frågor som tar ruskigt lång tid (flera minuter ibland) och nu sitter jag och läser om mysql, testar lite saker och försöker kommer på vad som kan vara fel. Detta är som en brain dump av vad jag lär mig, oavsett om det blir bra eller inte :)

För att kunna testa flera frågor, index och annat mot samma data utan att mysqls cachning förstör allt kan man skriva

SELECT SQL_NO_CACHE FROM table;

Det gör att frågan inte cachar något, däremot kommer den använda cachad information om det finns.

Om man vill vara säker på ett ett speciellt index används (istället för det som mysql gissar är rätt) kan man skriva

SELECT * FROM table FORCE INDEX(index_name)

Då kommer mysql garanterat använda det indexet man ber om och inget annat.

Det finns många variabler i mysql som man kan försöka tweaka, en liten lista här så jag inte glömmer det, utan närmare förklaring

  • read_rnd_buffer_size
  • tmp_table_size
  • innodb_buffer_pool_size
  • innodb_additional_mem_pool_size
Category: teknik
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply