Jak mogę sprawdzić, czy moja baza danych zawiera jakieś indeksy?
Co powiesz na konkretny stół?
mysql
indexing
database-schema
Blankman
źródło
źródło
Odpowiedzi:
Aby zobaczyć indeks dla konkretnej tabeli użyj SHOW INDEX:
Aby zobaczyć indeksy dla wszystkich tabel w ramach określonego schematu, możesz użyć tabeli STATISTICS z INFORMACJE_SCHEMA:
Usunięcie klauzuli where spowoduje wyświetlenie wszystkich indeksów we wszystkich schematach.
źródło
DISTINCT
słowo kluczowe zamaskuje niektóre indeksy - Mam tabelę, w której indeks ma tę samą nazwę, ale jest używany w dwóch różnych kolumnach, więc przykładowy schemat informacyjny pokaże tylko jeden indeks.from mydb
jak pokazano w odpowiedzi LiorK.Jeśli chcesz zobaczyć wszystkie indeksy we wszystkich bazach danych jednocześnie:
źródło
SELECT * FROM information_schema.statistics;
Zobacz dokumentację .
źródło
Można użyć tego zapytania, aby uzyskać liczbę indeksów, a także nazwy indeksów każdej tabeli w określonej bazie danych.
źródło
Proponuję to zapytanie:
Znalazłeś wszystkie indeksy tylko indeksowe.
Uważać.
źródło
Aby uzyskać wszystkie indeksowane kolumny na indeks w jednej kolumnie w kolejności sekwencji.
Ref: http://blog.9minutesnooze.com/mysql-information-schema-indexes/
źródło
Aby sprawdzić wszystkie wyłączone indeksy na db
źródło
Możesz sprawdzić swoje indeksy w MySQL workbench. Na kartach raportów wydajności możesz zobaczyć wszystkie używane i nieużywane indeksy w systemie. lub możesz uruchomić zapytanie.
źródło
Działa to w moim przypadku w celu uzyskania nazwy tabeli i nazwy kolumny w odpowiedniej tabeli dla pól indeksowanych.
źródło