ã¾ãããMySQLã§å®å ¨ã«ããã£ãã®ã§ã¡ã¢ã
çç¶
- æããã¯ã¨ãªãã帰ã£ã¦ããæ°é ãç¡ãã
- process list ãè¦ãã¨ãå½è©²ã®ã¯ã¨ãªã¯ "Copying to tmp table" ã¨è¨ã£ã¦ããã
- å½è©²ã¯ã¨ãªãã ORDER BY å¥ãé¤ãã¦å®è¡ããã¨ãå¿çãç¡ãã®ã¯åãã ããprocess listã®è¡¨è¨ã "Sending data" ã¨è¨ãããã«ãªãã
調æ»ãã®ï¼ï¼tmp_table_sizeã¨max_heap_table_size
"Copying to tmp table" ã§ã°ã°ã£ãã¨ãã«ã¾ãåºã¦ããã®ãããããã®ãã©ã¡ã¼ã¿ãå¤æ´ãã¾ãããï¼ã¨ããæ
å ±ã
mysql - "Copying to tmp table" extremely slow - Database Administrators
tmp data ãæ ¼ç´ããé åãååã§ãªããã°ãããããcopyãè«å¤§ãªæéããããã¾ããããã¨ããçå±ã
ãã¡ãã試ãã¦ã¿ã¾ããããåãééããç°å¢ã§ã¯å¹æç¡ãã
調æ»ãã®ï¼ï¼MySQLåèµ·å
å°ã£ãã¨ãã®å¥¥ã®æãåèµ·åã
試ãã¦ãä½ãå¤ãããã
調æ»ãã®ï¼ï¼ãµã¼ããã°
mysqldãåãã¦ããã°ãè¦ã¦ããæãããã¯è¦ã¤ãããã
調æ»ãã®ï¼ï¼å½è©²ã¯ã¨ãªãexplain
ãã®èª¿æ»ãåèµ·åãããå
ã«ãããï½ï½ã¨ããé次ãé£ãã§ãããã§ãããåã®ç²¾ç¥çä½è£ã®ç¡ãããé åºãå
¥ãæ¿ãã£ã¦ãã¾ãã¾ããã
ããããexplainã®çµæãè¦ã¦ããç¹ã«ç°å¸¸ãªç¹ï¼rowsãç°å¸¸ã«å¤ãã¨ãï¼ãè¦å½ãããã
調æ»ãã®ï¼ï¼å½è©²indexã調æ»
explainã§ç¤ºãããindexã®ç¶æ³ãè¦ã¦ã¿ãã¨ããªãã¨cardinalityã0ã«ãªã£ã¦ããã§ã¯ããã¾ãããï¼ï¼
ããå°ã詳ããè¨ãã¨ãPrimary Keyã®Indexã®ã¿ã¯é©åãªå¤ãåºåããã¦ãã¦ããã以å¤ã®Indexã®cardinalityã0ã®ç¶æ
ã§ããã
analyze table ããããããcardinalityã«ã¯é©åãªå¤ãå
¥ããã¯ã¨ãªã妥å½ãªæéã§çµæãè¿ãããã«ãªãã¾ããã
â»æ³¨ï¼è¿½è¨ï¼ 2012.12.06ï¼ï¼phpMyAdminã§è¦ãæã®cardinalityã0ã ã¨ãããã¨ã§ããphpMyAdminã®ãã¼ã¸ã§ã³ã«ãã£ã¦ã¯è¦ãæ¹ãéãããããã¾ãããå®éã®cardinality㯠null ã§ãã
ã¯ã¨ãªã®å®è¡ä¸ã«ãä½ãèµ·ãã¦ããã®ãï¼ï¼æ¨æ¸¬ï¼
ä½ããã®çç±ã§çµ±è¨æ å ±ãå£ããçµæãã¯ã¨ãªã®å®è¡ä¸ã« optimizer ãããç¡éã«ã¼ãã«ã§ãé¥ã£ã¦ãã¾ã£ãã®ã§ãããï¼ã§ãããã®æ¨æ¸¬ã¯ã¯ã¨ãªããORDER BYå¥ãé¤ããã¨ãã®çç¶ã¨çç¾ãããããªæ°ããã¾ãã追å ã®èª¿æ»ãåå¼·ãå¿ è¦ããï¼ã
ãªãçµ±è¨æ å ±ãå£ããã®ãï¼
ãã®Q&A MySQL MyISAM table index cardinality is zero - Stack Overflow ã®åçè
ãããMySQLããã¥ã¢ã«ããå¼ç¨ããã¦ããéãããã¼ã¿ããã¼ãããå¾ã¯ analyze table ãå®è¡ãã¹ãã§ããããã¯MySQLã«éãããä»ã®RDBMSã§ãåãäºãè¨ãã¾ãã
ä»åãåãééãããµã¼ãã§ã¯ãå®éã«ãã¼ã¿ã®ãã¼ããå®æ½ãã¦ãã¾ããã
ããè¨ãã°ãã¼ã¿ã®ãã¼ããããåã¯ãå½è©²ã®ã¯ã¨ãªãå
æ°ã«åãã¦ãããªã¼ã¨ããã®ãæãåºãã¾ããã
çµ±è¨æ
å ±ãå£ããåå ã¨ãã¦ã¯ããã¼ã¿ã®ãã¼ãã®å¯è½æ§ãé«ããªãã¨æãã¾ãï¼ã§ãæå®ã¯ã§ããï¼ã
cardinalityãnullã«ãªã£ã¦ããindexãæ½åº
ãã®SQLãæã æµãã°ã幸ãã«ãªããããï¼ï¼ï¼â»å®è¡ã¯èªå·±è²¬ä»»ã§ãï¼
select table_schema, table_name, index_name from information_schema.statistics where table_schema = 'DBå' and cardinality is null group by table_schema, table_name, index_name order by table_schema, table_name, index_name
ãã¼ã¿ã0件ãããªããã¼ãã«ããã®ãªã¹ãã«åºã¦ãããå±éºä¿¡å·ãã¨èãã¦ãè¯ãã®ã§ã¯ãªãã§ããããã