Show a tables FULLTEXT indexed columns

后端 未结 2 1846
孤独总比滥情好
孤独总比滥情好 2021-02-06 02:07

I\'m looking to run a query that will return a list of columns in a table that are FULLTEXT indexed. The table is in MyISAM format and i\'ll be using php to construct the query.

相关标签:
2条回答
  • 2021-02-06 02:38

    You can get that information from the information_schema.STATISTICS table.

    I'll give you the query to get all columns in the table that are in one or more FULLTEXT indexes, since I think that's what you are asking for. Bear in mind that the specific combinations of columns in each FULLTEXT index are very important. MySQL can't use a FULLTEXT index to search multiple columns unless there is a single FULLTEXT index that includes all of those column.

    Here's the first query that gives the output you asked for:

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

    And here's one that shows the various combinations of columns in FULLTEXT indexe if there is more than 1 on the table:

    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;
    
    0 讨论(0)
  • 2021-02-06 02:39

    Here's another way:

    SHOW CREATE TABLE [database_name].[table_name]
    

    Replace the bracketed placeholders with your own values.

    Peruse the output for FULLTEXT lines.

    0 讨论(0)
提交回复
热议问题