인덱스 이름에 대해 INFORMATION_SCHEMA.STATISTICS를 쿼리 할 때 이상한 결과가 나타납니다. 내가 "SELECT * ..."할 때, 나는 2 개의 인덱스를 보지만 "SELECT COUNT (*) ..."는 count (*)가 0이라고 말합니다. 이상적인 MySQL 특정 테이블에 인덱스를 얻는 더 좋은 방법이 있습니까?INFORMATION_SCHEMA.STATISTICS에서 테이블의 인덱스를 읽을 때 MySQL 행 수가 잘못되었습니다.
예 : 그러나
mysql> SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS WHERE
table_schema = 'mifostest' AND table_name ='CUSTOMER' AND INDEX_NAME =
'CUSTOMER_BRANCH_SEARCH_IDX';
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
...
mysql> SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_schema =
'mifostest' AND table_name ='CUSTOMER' AND INDEX_NAME =
'CUSTOMER_BRANCH_SEARCH_IDX'\G
*************************** 1. row ***************************
TABLE_CATALOG: NULL
TABLE_SCHEMA: mifostest
TABLE_NAME: CUSTOMER
NON_UNIQUE: 1
INDEX_SCHEMA: mifostest
INDEX_NAME: CUSTOMER_BRANCH_SEARCH_IDX
SEQ_IN_INDEX: 1
COLUMN_NAME: BRANCH_ID
COLLATION: A
CARDINALITY: 0
SUB_PART: NULL
PACKED: NULL
NULLABLE: YES
INDEX_TYPE: BTREE
COMMENT:
*************************** 2. row ***************************
TABLE_CATALOG: NULL
TABLE_SCHEMA: mifostest
TABLE_NAME: CUSTOMER
NON_UNIQUE: 1
INDEX_SCHEMA: mifostest
INDEX_NAME: CUSTOMER_BRANCH_SEARCH_IDX
SEQ_IN_INDEX: 2
COLUMN_NAME: SEARCH_ID
COLLATION: A
CARDINALITY: 0
SUB_PART: NULL
PACKED: NULL
NULLABLE: YES
INDEX_TYPE: BTREE
COMMENT:
2 rows in set (0.00 sec)
더 많은 정보 :
- 나는 우분투 9.04에서 MySQL 5.1.31-1ubuntu2을 사용하고 있습니다.
- "SHOW CREATE TABLE"은에 인덱스를 표시합니다.
감사합니다. -Adam
5.0.45 또는 5.0.51에서이를 복제 할 수 없습니다. Steve의 답이 맞을 수도 있습니다. 아마도 MySQL 개발자에게 버그로 제출하는 것이 가장 좋습니다. – Randy