Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zeigen Sie indizierte Spalten einer Tabelle mit VOLLTEXT an

Sie können diese Informationen aus der Tabelle information_schema.STATISTICS abrufen.

Ich gebe Ihnen die Abfrage, um alle Spalten in der Tabelle zu erhalten, die sich in einem oder mehreren FULLTEXT-Indizes befinden, da ich denke, dass Sie danach fragen. Beachten Sie, dass die spezifischen Spaltenkombinationen in jedem FULLTEXT-Index sehr wichtig sind. MySQL kann einen FULLTEXT-Index nicht verwenden, um mehrere Spalten zu durchsuchen, es sei denn, es gibt einen einzigen FULLTEXT-Index, der alle diese Spalten enthält.

Hier ist die erste Abfrage, die die gewünschte Ausgabe liefert:

select group_concat(distinct column_name)
from information_schema.STATISTICS 
where table_schema = 'your_db' 
and table_name = 'your_table' 
and index_type = 'FULLTEXT';

Und hier ist eine, die die verschiedenen Kombinationen von Spalten im FULLTEXT-Index zeigt, wenn es mehr als 1 in der Tabelle gibt:

select index_name, group_concat(column_name) as columns
from information_Schema.STATISTICS 
where table_schema = 'your_db' 
and table_name = 'your_table' 
and index_type = 'FULLTEXT'
group by index_name;