Sobes.tech
Back to questions
Senior
5

Как настроить индекс для нового запроса? Как создавать составной индекс при нескольких условиях?

Companies where asked
.wrk

Answer from AI

sobes.tech AI

В C# для настройки индексов обычно используется Entity Framework (EF) или EF Core. Чтобы создать индекс для нового запроса, нужно определить индекс на уровне модели данных.

Для создания простого индекса в EF Core можно использовать атрибут или Fluent API:

// Атрибут
[Index(nameof(PropertyName))]
public class MyEntity
{
    public int Id { get; set; }
    public string PropertyName { get; set; }
}

Для составного индекса (несколько свойств):

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<MyEntity>()
        .HasIndex(e => new { e.Property1, e.Property2 });
}

Это создаст составной индекс по Property1 и Property2, что ускорит запросы с условиями по этим полям.

Важно: индексы нужно создавать с учётом реальных запросов, чтобы не создавать лишнюю нагрузку на запись и хранение данных.