Używam Django ORM i MySQL. Z jakiegoś powodu MySQL używa niewłaściwego indeksu. Chcę ręcznie zastąpić używane indeks. Widziałem, że drużyna Django zdecydowała z powodu Cross Platform Powodem, aby zapobiec rozszerzeniu z wyżej wymyślił indeks. Czy ktoś ma jakiś rodzaj, jeśli rozwiązanie propozycja, jak mogłem uzyskać MySQL, aby użył właściwego indeksu, a następnie przez Django?

Dzięki

2
vondip 18 sierpień 2014, 01:46

2 odpowiedzi

Najlepsza odpowiedź

Django obsługuje surowe zapytania SQL, aby pasowały do Twoich potrzeb, patrz artykuł dokumentacji wykonywanie surowych zapytań SQL.

Gdy API zapytania modelu nie idą wystarczająco daleko, możesz wrócić do pisania surowego SQL. Django daje dwa sposoby wykonywania surowych zapytań SQL: Możesz użyć Manager.aw () do wykonania surowych zapytań i instancji modelu powrotnego, lub można uniknąć warstwy modelowej całkowicie i wykonać niestandardową SQL bezpośrednio.

1
timo.rieber 18 sierpień 2014, 07:12

Django-MySQL Obsługuje wskazówki indeksujące. Zobacz Dokumenty Szczegółowe informacje .

2
Dirk Bergstrom 2 październik 2015, 23:07