크론을 이용해 특정 테이블을 매일 TRUNCATE를 이용해 비워주고 있습니다.
그런데 비워주고 나면 Cardinality가 `none` 으로 나옵니다.
그래서 매일 optimize 설정을 해줘야 정상적으로 됩니다. (크론으로 optimize 자동 작동 되도록 했는데도 마찬가지 입니다.) 원인이 어떤 것들이 있을까요?? 그리고 어떻게 해결하면 될까요??
cardinality 가 원래 해당 인덱스에 들어있는 unique value에 대한 값을 나타내는 것이므로, 데이터가 없는 truncate 이후에는 당연히 0이 됩니다.
http://dev.mysql.com/doc/refman/5.0/en/show-index.html
그리고, 위 링크에 나오는 도움말에서도 확인하실 수 있듯 어디까지나 'An estimate of the number of unique values in the index. ' 일 뿐입니다.