需要mysql查询INDEX吗?

标签 mysql select indexing database-administration

我的网站有一个关注系统,它是一个在线游戏。 因此,在这个游戏中,一个玩家可以跟随另一个玩家结成联盟。

CREATE TABLE IF NOT EXISTS `follow` (
  `player` INT NOT NULL REFERENCES cadastro (`id`),
  `follow` INT NOT NULL REFERENCES cadastro (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

player 是跟随者。 我的问题是,如果以后这张表包含大量用户,我是否应该使用索引?我该如何使用它?

我在游戏中所做的是:

select `follow` from follow where player = $

所以索引应该是player?有什么优化帮助吗?

最佳答案

如果表变大,索引 player 肯定会加快您的查询。如果这是您打算在表上运行的唯一查询,我会索引 player, follow,这样查询就可以被 player 搜索,然后是follow 从同一索引中检索,而无需为其访问表。

关于需要mysql查询INDEX吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32897965/

相关文章:

arrays - 关于矩阵运算的问题

mysql - 为什么Mysql的索引需要一个名字?

mysql - 使用 GROUP BY 将查询从 MySQL 转换为 Postgres 和 SQLite

php - 按月份分组并按时间顺序而不是按字母顺序在 mysql 中显示

mysql - 员工详细信息未正确显示

indexing - Informix 中的组索引

mysql - 根据每个唯一的列值计算百分比

php - MySQL "Not Equal"运算符有效,但无法正常工作

MySQL INSERT INTO 从多个表中选择

javascript - 用户输入3个数据后如何显示select2