我读了一些关于表索引的建议,并且我发现当你的sql查询运行缓慢时应该引入索引..
我的问题是我在一个表中索引几乎所有列。此表与其他表绑定,例如users表列country与country table
绑定user table country table
id id
countryId name
我在countryId列中添加了一个索引,因此我可以将其链接到country表的id,因为当我没有列上的索引时,我无法创建外键约束。
基本上我有很多列链接到其他表只是为了向我的列添加约束。
例如,国家表不超过100,所以如果有人不小心插入了101的值,mysql就不会接受那个数据,因为国家表只有1-100 ..那么如何避免添加索引并仍具有表数据约束功能?
答案 0 :(得分:1)
这个建议很糟糕。
您要搜索的索引列或您需要特殊约束的位置,例如唯一值。
不添加索引的唯一原因是它们确实占用了空间。但是,除非您正在处理如此多的数据以至于需要数据库管理员,否则您可能不必担心它。