РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpIxCmp 105 of 210 menu

Составной индекс в Laravel

Иногда поиск идет сразу по двум или более полям: имя и фамилия, аккаунт и дата создания. Для этого создают составной индекс - передают массив колонок:

<?php $table->index(['name', 'surname']); $table->index(['account_id', 'created_at']); ?>

База данных индексирует комбинацию значений. Запрос по первому полю из списка тоже может использовать такой индекс, а вот по второму без первого - обычно нет.

Пример миграции таблицы пользователей с составным индексом:

<?php public function up(): void { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('surname'); $table->timestamps(); $table->index(['name', 'surname']); }); } ?>

Составной уникальный индекс задают через unique с массивом - пара значений не должна повторяться целиком.

Сделайте составной индекс по полям name и surname.

Когда нужен составной индекс, а когда достаточно одного поля?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить