hello
Egy django sebesseg kerdesre keresem a valaszt, sajna google nem sok jot mondott, vagy nem jol kerestem.
Adott a felallas: van egy android app, ami idonkent meghiv egy url-t, a szerveren pedig lefut ennek hatasara egy kod (sajnos nem lehet belenyulni, ezzel kell dolgozni). A kerdesem az lenne, hogy szerver terheles szempontjabol melyik kimeletesebb:a) verzio: csak siman hasznalom az add()
fuggvenyt, a szerver pedig ugy is tudja, hogy nem kell megcsinalnia, mert az userhez eleve hozza van rendelve a konyv:
-------------------------------
try:
user = UserProfile.objects.get(user_id=request.POST['user_id'])
except UserProfile.DoesNotExist:
user = UserProfile.objects.create(...)
book = Book.objects.get(url=request.POST['book_id'])
user.book.add(book)
-------------------------------
b) verzio: erdemes lenne-e elobb megerdeklodni a szervertol a user.book.add(book)
elott, hogy letezik-e mar az user-nel az adott konyv, es csak akkor hozzarendelni, ha nincs me'g.
Azert hezitalok, mert ugye a b) verzio is eszik nemi eroforrast. Kerdes, hogy a django melyiket kezeli okosabban/gyorsabban. Egyaltalan van-e ertelme ilyen tipusu optimalizalasnak?
MEGOLDVA
connection.queries
volt a megoldas es a b) verzio a nyero. Az a)-nal 3db SELECT es 2db INSERT futott le, a b)-nel csak a 3 SELECT
- 4100 megtekintés