我一直在使用我的MySQL数据库的索引,而现在却从不正常了解到他们.通常我会在我要搜索的任何字段上放置索引或使用WHERE子句进行选择,但有时它看起来不是那么黑白.
MySQL索引的最佳实践是什么?
示例情况/困境:
如果一个表有六列并且所有这些列都是可搜索的,那么我应该将它们全部索引还是不索引?
.
索引的负面性能影响是什么?
.
如果我有一个VARCHAR 2500列可以从我的网站的部分搜索,我应该索引吗?
我对数据库编程很陌生,我想知道索引的负面影响是什么?据我所知,索引加速了必须在数据库中搜索特定值的操作(例如SELECT).
考虑这个例子:
对于表Example,在列上有索引user_name,操作:
SELECT TestField FROM Example WHERE user_name=XXXX
Run Code Online (Sandbox Code Playgroud)
由于索引会更快.
我的问题是:使用索引的缺点是什么?如果一个索引只给我们专业人士(性能提升),他们为什么不设置为默认值?