laravel 我需要在 unique() 列上使用 index() 吗?

Posted

技术标签:

【中文标题】laravel 我需要在 unique() 列上使用 index() 吗?【英文标题】:laravel do I need index() on unique() column? 【发布时间】:2015-03-14 02:42:18 【问题描述】:

当我在 laravel 迁移中将 unique() 放在列上时,我不需要再放置 index() 对吗? Unique 已经为快速搜索创建了索引?

【问题讨论】:

是的 unique() 就足够了。查看this question 了解不同索引之间的比较 【参考方案1】:

是的 unique() 就足够了。它将在表上创建一个UNIQUE 索引,该索引与“普通”INDEX 基本相同,但也强制执行不能有两个具有相同值的行的约束。

所以在性能方面UNIQUE 至少应该是相同的,如果不是更快的话。无需添加额外的索引。

This question 有一个很好的答案比较 mysql 的不同索引。

【讨论】:

【参考方案2】:

不,你不需要再放 index() 了。

【讨论】:

不,不是这样,但当你这样说(即使你是对的)时,听起来更像是一种观点,而不是一个有根据的答案。 好的。谢谢你的好评论,我给你投票了。干杯! 不用担心...谢谢。还要记住,这些答案不仅适用于 OP,而且应该帮助其他人在未来遇到相同或类似的斗争:)

以上是关于laravel 我需要在 unique() 列上使用 index() 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 在其他列上同步

使用 Laravel 在 json 列上创建索引

如何在laravel中使用逗号分隔值的列上使用'where'

laravel 5.2中一列上有2个外键

Laravel 关系,需要建议

使用 Laravel 4 Eloquent 连接列上的列名“”无效?