[Tutor] short url processor
ian douglas
ian.douglas at iandouglas.com
Sat May 14 02:49:29 CEST 2011
On 05/13/2011 05:03 PM, Alan Gauld wrote:
> As I say, just some thoughts,
>
I *am* curious, Alan, whether you or anyone else on the list are able to
help me make this a little more efficient:
cur.execute("SELECT short_url,long_url FROM short_urls")
giant_list = cur.fetchall()
for i in giant_list:
if i[0]:
if i[1]:
mc.set(i[0], i[1])
At present, we have about two million short URL's in our database, and
I'm guessing there's a much smoother way of iterating through 2M+ rows
from a database, and cramming them into memcache. I imagine there's a
map function in there that could be much more efficient?
v2 of our project will be to join our short_urls table with its 'stats'
table counterpart, to where I only fetch the top 10,000 URLs (or some
other smaller quantity). Until we get to that point, I need to speed up
the restart time if this script ever needs to be restarted. This is
partly why v1.5 was to put the database entries into memcache, so we
wouldn't need to reload the db into memory on every restart.
Thanks,
Ian
More information about the Tutor
mailing list