我有id, member_id, topic_id
字段。有时我使用id
,有时member_id
,有时使用条款中的topic_id
。我可以添加索引到它们全部吗?它会让它变慢吗?我是MYSQL优化的新手,所以谢谢。Mysql索引,我可以添加多少个?
3
A
回答
4
未使用的索引不会使SELECT速度变慢,但是您添加的每个索引都会减慢INSERT和UPDATE。
一个MyISAM表可以有索引的最大数量为64
2
在一般情况下,你想在每场单独的指数,如果你只在单一领域进行过滤你的查询,如下面的案例:
SELECT * FROM your_table WHERE id = ?;
SELECT * FROM your_table WHERE member_id = ?;
SELECT * FROM your_table WHERE topic_id = ?;
如果id
字段是主键,然后就是可能已经使用clustered index。因此,它看起来像你可能想尝试member_id
和topic_id
创建两个单独的non-clustered indexes:
CREATE INDEX ix_your_table_member_id ON your_table (member_id);
CREATE INDEX ix_your_table_topic_id ON your_table (topic_id);
您还可能有兴趣在研究的covering indexes的话题。
相关问题
- 1. 我可以将多少个域添加到我的应用中?
- 2. mysql索引添加
- 3. 在搜索呼叫中可以指定多少个索引?
- 4. 可以向UInavigationController添加多少BarButtonItems
- 5. 我们可以在Sphinx中为分布式索引使用多少个代理?
- 6. 我们可以从iPhone App向iCal添加多少活动?
- 7. 我们可以在数据表中添加多少列C#
- 8. 我可以使用InstantSearch Library搜索多个索引吗?
- 9. 我可以在一个页面中添加多少个iframe标签?
- 10. 添加索引两个多桌
- 11. 将索引添加到多个表
- 12. 我可以在悖论中添加索引到agregated字段
- 13. 我应该在mysql中的多个request_id上添加什么类型的索引
- 14. 当数据被索引时,我可以自动将一个字段添加到弹性搜索索引吗?
- 15. phpMyAdmin想要将多个索引添加为一个多列索引
- 16. 可以使用多个索引编制索引的缓存
- 17. 要添加哪个索引?
- 18. RavenDB:我们可以传递参数来映射/减少索引
- 19. Mysql添加索引导致超时
- 20. 添加索引,优化MySQL查询
- 21. MySQL的 - 添加索引,链接表
- 22. Mysql添加索引错误或否?
- 23. 可可NSIndexSet:多重索引。如何创建索引集,多个索引?
- 24. ReSharper可以自动添加缺少的引用吗?
- 25. 多列mysql索引
- 26. MYSQL多列索引
- 27. Mysql多行索引
- 28. MySQL多列索引
- 29. 多列索引或者时间序列MySQL表多个索引?
- 30. 我可以向一个AnimationSet添加多个翻译动画
它会使INSERT和UPDATE慢很多还是只有一点点?正如我可以看到你很擅长php/mysql,请检查这个问题,如果你有时间:http://stackoverflow.com/questions/3138487/how-many-fields-is-normal-to-have-in-一张表 – 2010-06-29 08:08:53
一般来说,除非您正在执行巨大的更新,否则不值得担心。对于大型插入,您可以临时删除索引并在之后重新构建它们 – 2010-06-29 08:14:09
此外,您可以使用EXPLAIN找出给定查询是否使用了您期望的索引,并且还可以帮助您发现对新索引的需求 – 2010-06-29 08:15:25