我有两种模式:
class DjProfile(DateTimeModel):
name = models.CharField(max_length=150, db_index=True)
...
class Track(models.Model):
all_producers = models.ManyToManyField(DjProfile)
all_remixers = models.ManyToManyField(DjProfile)
title = models.CharField(max_length=200, db_index=True)
track_link = models.CharField(max_length=150, blank=True, null=True)
...
我有很多Track
的{{1}}记录,title
的值相同,all_producers
的值相同但all_remixers
不同。我想只保留一份不论track_link
值的记录,这些记录可能会有所不同。
我可能会遍历track_link
的所有记录,但我有一个非常大的表(如2M记录),我担心性能。解决这个问题的最佳方法是什么?
答案 0 :(得分:0)
我认为这可能有用,
import time
N = 10000000
# String test
print('String Test')
t0 = time.clock()
slot_1 = 'med kit'
g = 0
for x in range(N):
if slot_1 == 'med kit':
g = g + 1
t1 = time.clock()
total = t1-t0
print("%.8F seconds\n" % total)
# Integer test
print('Integer Test')
t0 = time.clock()
slot_1 = 0
g = 0
for x in range(N):
if slot_1 == 0:
g = g + 1
t1 = time.clock()
total = t1-t0
print("%.8F seconds\n" % total)
注意:我还没试过,(在删除之前先备份:P)