While I think this is a good idea for smaller data sets, it just isn't feasible for larger data sets that require indices. Having every combination of columns as indices is just hell for the RDBMS. When you are faceting with a large dataset, it's better to use something like ElasticSearch or Sphinx.