Es gibt list1 und list2, die jeweils 1.104.824 Werte enthältSchneller Weg mysql Abfrage in Python zu tun
tabelle1 hat 350.000.000 Reihen mit 3 Spalten: ID, name1, name2
und das ist, was ich versucht zu tun :
con = mdb.connect('localhost','user','password','db')
cur = con.cursor()
for i in range(1104824)
sql ="select count(distinct(a.ID)) from (select name1 ,ID from table1 where name2 <> '"+str(list1[i])+"') as a where a.name1 = '"+str(list2[i])+"'"
cur.execute(sql)
data = cur.fetchone()[0]
aber es ist sehr, sehr langsam. Gibt es eine schnellere Möglichkeit, diese Abfrage auszuführen?
Post die Tabellenstruktur und was genau Sie versuchen zu tun. Sicherlich könnte es einen Weg geben, der nicht 1,1 Millionen Abfragen beinhaltet? – e4c5
Wenn 'ID' die' PRIMARY KEY' ist, können Sie 'COUNT (DISTINCT ID)' wahrscheinlich in 'COUNT (*)' ändern. Wenn 'name1, name2' UNIQUE ist, können Sie wahrscheinlich' ID' loswerden. –