gpt4 book ai didi

mysql - mysql表中优选的索引结构

转载 作者:行者123 更新时间:2023-11-29 11:40:02 25 4
gpt4 key购买 nike

我有以下数据库结构:

  • ID
  • 姓名
  • 年份
  • 导演
  • 运行时

示例条目为:(1, "Titanic", 1994, "James Cameron", 02:44:00)

我想根据四个标准中的任意三个找到匹配项,例如:

1. name + year + director
2. name + year + runtime
3. year + director + runtime

如果我创建一个索引,这足以实现最佳查询吗?

ALTER TABLE myTable ADD INDEX (name, year, director, runtime)

或者,我需要为每个组合创建一个索引吗?

ALTER TABLE myTable ADD INDEX (name, year, director)
ALTER TABLE myTable ADD INDEX (name, year, runtime)
ALTER TABLE myTable ADD INDEX (year, director, runtime)

我显然更喜欢使用第一个,但这里建议使用第一个?为什么其中一个比另一个更可取?这是一个 InnoDB 表。

最佳答案

考虑到id是具有默认唯一索引的主键;如果您创建一个包含 4 列的索引就足够了,因为在这种情况下您得到的是覆盖索引

ALTER TABLE myTable ADD INDEX (name, year, director, runtime)

关于mysql - mysql表中优选的索引结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35950867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com