Come posso eseguire query bitwise sul DB con Django?
Non ho trovato nulla a riguardo nei documenti.
Devo recuperare un set di query e quindi filtrare programmaticamente?Come eseguire query bit a bit su DB in Django?
Se si è interessati, utilizzo le operazioni bit a bit come alternativa alle frasi IN() in query molto grandi e complesse, al fine di migliorare le prestazioni.
Ho un DB contenente milioni di elementi (record). Alcuni campi usano la rappresentazione binaria di una proprietà dell'oggetto.
Per esempio: il campo colore può avere valori multipli, quindi è strutturata in questo modo:
0001 - Red
0010 - Green
0100 - Blue
1000 - White
(questi sono valori binari)
Quindi, se un elemento è rosso e blu, i colori, il colori Il campo conterrà 0101
.
Quando un utente esegue una query sul DB, utilizzo bitwise-OR per trovare corrispondenze (anziché IN() che è molto lento).
Ciao, In realtà sto usando MySQL (pensando di migrazione a MongoDB, ma non supporta bit a bit interroga ATM) – user1102018
@ user1102018 Ho appena controllato il codice, dovrebbe funzionare su MySQL, perché usa normale campo intero e normale bitwise e e | che sono tutti supportati da MySQL. – okm