기본 키가없는 레거시 시스템의 테이블이 있습니다. 공장에서 자재를 발행하기위한 거래 데이터를 기록합니다.SELECT 문이 possible_keys를 사용하지 않음
간단히하기 위해 각 행에 job_number, part_number, quantity & date_issued가 포함되어 있다고 가정 해 보겠습니다.
날짜 발급 된 열에 인덱스를 추가했습니다. 나는 date_issued이> '20100101', 그것은이 보여 WHERE이 issued_parts로부터 SELECT *를 EXPLAIN 실행하면 :
+----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+ | 1 | SIMPLE | issued_parts | ALL | date_issued_alloc | NULL | NULL | NULL | 9724620 | Using where | +----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+
은 그래서 키를 볼 수 있지만, 그것을 사용하지 않는 이유는 무엇입니까? 누군가 설명 할 수 있습니까?
'키'열의 이름을 지정해도 열 이름이 지정되지 않습니다. 필자가이 질문을 완전히 이해하지는 못했지만, 그런 종류의 기능을 원한다면 '키'열을 기본 키로 할당하십시오. 그렇지 않다면 더 많은 정보 (예를 들어 현재 스키마)를 제공해야 할 것입니다. –