Guidelines on best indexing strategy for varying searches on 20+ columns
Capture the queries that people actually make.
Analyze data from #1; then devise short, multi-column, indexes (2, maybe 3, columns each)
No.  Especially not for yes/no flags.  It's ok to combine such, as in #2.
See #3.
The order of columns is important in an index.  A 5-column index is (roughly) equivalent to the 1-col index on its first column, but is not useful if you don't query on that column.
Probably.
Forcing into memory is counter-productive because it takes away space for caching other stuff.


More discussion:  http://mysql.rjweb.org/doc.php/eav