5

Korzystam z kodu EF 6 First dla mojej witryny MVC i backendu Azure SQL. Strona SQL portalu Azure Portal zawiera wiele zaleceń indeksu, które można zastosować za pomocą kliknięcia. Jednak nie jestem pewien co do implikacji dla mojego modelu danych EF. Wiem, że gdybym miał bezpośrednio dodawać lub usuwać tabele, pola itp. Z bazy danych, EF złożyłby skargę, że mój model i baza danych nie są zsynchronizowane, a sytuacja jest zła. A co z indeksami? Jeśli pozwolę Azure automatycznie dodawać rekomendowany indeks, czy EF dowie się o tym? Czy spowoduje to problemy?Azure SQL: czy zastosowanie indeksu doradczego zmieni wpływ Migracji EF?

Odpowiedz

2

Co z indeksami? Jeśli pozwolę Azure automatycznie dodawać rekomendowany indeks, czy EF dowie się o tym? Spowoduje to problemy? ...

EF nie musi o tym wiedzieć i nie będzie powodować żadnych problemów, jego optymalizator kwerendy, który używa tych indeksów jeśli są one usefull.All zalecenia indeksy powinny być brane ze szczyptą sól i powinny być stosowane tylko po uważnej ocenie.

1

Z mojego doświadczenia wynika, że ​​rekomendacje indeksu mogą powodować problemy z migracjami Entity Framework. Nie wpłyną one na samą strukturę Entity Framework, z pewnością połączą się z bazą danych, nawet jeśli nic nie wie o indeksach, ale możesz napotkać problemy, gdy przychodzi czas na zastosowanie nowych migracji.

Jako przykład można użyć portalu Azure, aby zastosować nowy zalecany indeks do jednej ze swoich tabel. Na późniejszym etapie zmienisz tabelę i utworzysz migrację, która usunie kolumnę. Ta migracja może się nie udać, gdy spróbujesz ją zastosować, ponieważ indeks (o której EF nie wie) jest zależny od kolumny.

Ten scenariusz jest prawdopodobnie mało prawdopodobny, ale może wywołać atak, gdy zapomnisz o zastosowaniu zalecenia. To jeszcze większy problem, jeśli pozwolisz, by Azure automatycznie zastosowała te rekomendacje dla Ciebie. Co najgorsze, prawdopodobnie nie trafisz na te problemy, dopóki nie spróbujesz wdrożyć do produkcji - możesz nie widzieć ich w środowiskach testowych/testowych, ponieważ wzorce użycia będą się różnić, a zatem same rekomendacje indeksu mogą być inne.

Powiązane problemy