Birincil sistemde olmayan bir birincil sistemden oluşan bir tablo var. Bir fabrikada materyal vermek için işlem verilerini kaydeder.SELECT ifadesi kullanamaz possible_keys
Basitlik uğruna, her satırın iş_esi, parça_sayısı, miktarı & date_issued içerdiğini varsayalım.
Tarih verilen sütuna bir dizin ekledim. Ben kesilen_tarih> '20100101', bu gösteriyor NEREDE bir issued_parts SELECT * İZAH çalıştırdığınızda:
+----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+ | 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 | +----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+
yüzden anahtarı görür, ancak bunu kullanmaz? Birisi nedenini açıklayabilir mi?
Bir anahtarın adlandırılması 'anahtar' bunu yapmaz. Soruyu tam olarak anlamadığım halde, bu tür işlevleri istiyorsanız 'anahtar 'sütununu birincil anahtar olarak atayın. Değilse, daha fazla bilgi (örneğin, şu anki şema gibi) sağlamanız gerekecektir. –