23
23
24
24
import json
25
25
import os
26
- import random
27
26
import time
28
27
import unittest
29
28
import warnings
52
51
MAX_ITERATION_TIME = 10
53
52
NUM_DOCS = 1000
54
53
else :
55
- NUM_DOCS = 1_000_000
56
- NUM_ITERATIONS = 1
57
- MIN_ITERATION_TIME = 1
58
- # NUM_ITERATIONS = 10
59
- # MIN_ITERATION_TIME = 30
60
- MAX_ITERATION_TIME = 1
61
- # NUM_DOCS = 10000
54
+ NUM_ITERATIONS = 10
55
+ MIN_ITERATION_TIME = 30
56
+ NUM_DOCS = 10000
62
57
63
58
TEST_PATH = os .environ .get ("TEST_PATH" , Path (os .path .realpath (__file__ )).parent .parent / "odm-data" )
64
59
@@ -372,8 +367,7 @@ def setUp(self):
372
367
super ().setUp ()
373
368
self .create_model ()
374
369
self .ids = [
375
- model .embedded_str_doc_array [0 ].id
376
- for model in list (LargeNestedModel .objects .all ())
370
+ model .embedded_str_doc_array [0 ].id for model in list (LargeNestedModel .objects .all ())
377
371
]
378
372
379
373
def do_task (self ):
@@ -384,6 +378,7 @@ def tearDown(self):
384
378
super ().tearDown ()
385
379
LargeNestedModel .objects .all ().delete ()
386
380
381
+
387
382
class TestSmallFlatDocFilterByIn (SmallFlatDocTest , TestCase ):
388
383
def setUp (self ):
389
384
super ().setUp ()
@@ -397,37 +392,33 @@ def setUp(self):
397
392
self .ids = [model .field1 for model in inserted ]
398
393
399
394
def do_task (self ):
400
- print (SmallFlatModel .objects .filter (field1__in = [self .ids [0 ]]).explain ())
401
395
for _id in self .ids :
402
396
list (SmallFlatModel .objects .filter (field1__in = [_id ]))
403
397
404
398
def tearDown (self ):
405
399
super ().tearDown ()
406
400
SmallFlatModel .objects .all ().delete ()
407
401
402
+
408
403
class TestSmallFlatDocFilterPkByIn (SmallFlatDocTest , TestCase ):
409
404
def setUp (self ):
410
405
super ().setUp ()
411
406
self .ids = []
412
407
models = []
413
- fields = [str (ObjectId ()) for _ in range (NUM_DOCS // 10 )]
414
408
for doc in self .documents :
415
409
models .append (SmallFlatModel (** doc ))
416
410
417
- for model in models :
418
- model .field1 = fields [random .randint (0 , len (fields ) - 1 )]
419
-
420
411
SmallFlatModel .objects .bulk_create (models )
421
- self .ids = random .sample (fields , len (fields ) // 10 )
422
- # print(SmallFlatModel.objects.filter(id__in=[self.ids[0]]).explain())
412
+ self .ids = [model .id for model in models ]
423
413
424
414
def do_task (self ):
425
- list (SmallFlatModel .objects .filter (field1__in = self .ids ))
415
+ list (SmallFlatModel .objects .filter (id__in = self .ids ))
426
416
427
417
def tearDown (self ):
428
418
super ().tearDown ()
429
419
SmallFlatModel .objects .all ().delete ()
430
420
421
+
431
422
class TestLargeFlatDocFilterPkByIn (LargeFlatDocTest , unittest .TestCase ):
432
423
def setUp (self ):
433
424
super ().setUp ()
@@ -436,7 +427,6 @@ def setUp(self):
436
427
models .append (LargeFlatModel (** doc ))
437
428
LargeFlatModel .objects .bulk_create (models )
438
429
self .id = LargeFlatModel .objects .first ().id
439
- print (LargeFlatModel .objects .filter (id__in = [self .id ]).explain ())
440
430
441
431
def do_task (self ):
442
432
list (LargeFlatModel .objects .filter (id__in = [self .id ]))
0 commit comments