Обычный индекс в Laravel
Обычный индекс ускоряет поиск и
сортировку по колонке, но не
запрещает повторяющиеся значения.
Его создают методом index
после описания колонок:
<?php
$table->index('state');
?>
Такой индекс полезен для полей, по которым часто фильтруют: статус заказа, город, категория товара. Значения могут повторяться у разных строк.
Пример миграции таблицы пользователей с индексом по городу:
<?php
public function up(): void
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('city');
$table->timestamps();
$table->index('city');
});
}
?>
Индекс можно добавить и в уже
существующую таблицу через
Schema::table - так же,
как новую колонку.
В таблице с юзерами сделайте
индекс по полю city.
По каким полям в таблице заказов имеет смысл создать обычный индекс?