Mysql 为 table 编制索引,具有多个过滤选项

Mysql indexing for table with multiple filtering option

我的应用程序是使用 Spring 开发的,使用 Mysql 数据库休眠。 我们有一个名为 company 的 table,其中大约有 20 列。我们有一个包含多个选项的 search/filter 屏幕,因此可以搜索公司记录。例如说 table 有 A、B、C、D、E、F、G、H、I、J、K、L、M 等列。有三列说 C、D 和 E对于每个搜索查询,但 where 子句中的其余列或 none 可以是任意组合。 我们正在尝试在公司 table 上创建索引,以便它可以使用搜索查询的所有多个组合。 请建议是否可以创建索引来优化对各种列的搜索,如果可以,如何创建索引?

"There are three columns say C, D & E which goes with every search query" -- 所以有一个包含这 3 列的复合索引。可能不值得向索引中添加更多列。

要进一步讨论,请使用实际的列名和实际的 WHERE 子句示例。上面的段落中有太多的警告,不能停留在简化的答案上。