【发布时间】:2014-04-02 21:42:24
【问题描述】:
我正在构建我的迁移,并且出于性能原因希望两个字段具有索引,因为在这些字段上执行了多个联接。
http://laravel.com/docs/schema#adding-indexes
这两个字段也恰好是唯一的,所以我需要一个唯一的约束索引。在 laravel 文档中,唯一性和索引都在同一部分“索引”下,所以我想知道它们在后台是否基本相同。唯一索引会自动给我带来索引性能优势吗?
如果我设置一个唯一约束索引
$table->unique(array('object_type', 'object_id'));
问题 1) 这将实现与基本索引
相同的好处$table->index('object_type');
$table->index('object_id');
问题2:设置这些类型的索引时,是否需要将引擎类型设置为InnoDB?
Schema::create('my_table', function (Blueprint $table) {
$table->increments('id');
$table->string('object_type');
$table->unsignedInteger('object_id');
$table->engine = 'InnoDB';
$table->unique(array('object_type', 'object_id'));
});
【问题讨论】:
标签: mysql sql laravel eloquent