Mysql 索引键与索引独立列,哪一个更快?
在MYSQL中,从纯性能的角度来看,如果我有一个具有10/1读/写比率的大量数据的表。将4个搜索条件放在单独的列中并全部索引,或者将它们组合到一个字符串中作为键并存储在一个索引列中,读/写性能会更快吗 e、 g.假设该表有5列,分别为名字、姓氏、性别、国家/地区和文件,其中前四列将始终作为搜索参数的一部分提供,或者该表有两列,即键和文件。其中密钥的值可以是john smith male australia 我不太明白其利弊。我想强调的一点是,所有参数都将在搜索中给出。这取决于具体情况 首先获取查询,然后从中返回,因为这些是您的测试用例。从中,您必须测试组合索引、单独索引或单个组合索引是否最适合数据和您想要检索的内容。我们可以提出知情的意见,但如果不能访问您的全部数据和您将使用的查询,就没有更多了 所有参数都将在搜索中给定的事实 对于这种特定的情况,如果在设计上可以将4列合并成第五列(varchar)并对其进行索引,那么就这样做。它将索引树展平,因此它不需要深入到叶级的3个分支。它还允许非常快速的二进制分割来获取所需的数据,只要混搭是精确的Mysql 索引键与索引独立列,哪一个更快?,mysql,sql,indexing,Mysql,Sql,Indexing,在MYSQL中,从纯性能的角度来看,如果我有一个具有10/1读/写比率的大量数据的表。将4个搜索条件放在单独的列中并全部索引,或者将它们组合到一个字符串中作为键并存储在一个索引列中,读/写性能会更快吗 e、 g.假设该表有5列,分别为名字、姓氏、性别、国家/地区和文件,其中前四列将始终作为搜索参数的一部分提供,或者该表有两列,即键和文件。其中密钥的值可以是john smith male australia 我不太明白其利弊。我想强调的一点是,所有参数都将在搜索中给出。这取决于具体情况 首先获取查
选择性顺序
始终以索引原始数据为目标。
这通常是最有用的
可以放入索引中的信息
如果您自己连接列,或者让DB来连接列,则本质上是相同的。如果让DB来做的话,只会减少工作量,减少出错的可能性,也不会那么尴尬
此外,如果对原始数据进行索引,还可以将其用作覆盖索引,如果只查询索引列,这会给您带来巨大的性能好处,这在某种程度上取决于所看到的查询工作负载……以及列的选择性您还需要额外的约束和一些触发器来确保“mash”始终与原始列相等。