Hi David,

*select_related* does a JOIN under the hood, and you can't do
cross-database joins in the databases supported by Django. For
prefetch_related, there is no way out of the box to perform a
cross-database join in Python (which is what prefetch_related is doing) but
perhaps there is some way to programatically make that happen. I haven't
put any effort into exploring that idea.

Thanks,

On Thu, May 21, 2015 at 3:42 PM, David <[email protected]> wrote:

> Dear List,
>
> I came about conflicting information (to my mind) concerning the use of
> select_related() and prefetch_related().
> My question is whether you can combine select_related() and
> prefetch_related() with sharding techniques. If so, how are you doing it?
>
> Background:
> I was watching various videos on Django under load and Django scaling,
> generally there comes a point at which they point at database sharding.
> Ash Christopher (https://www.youtube.com/watch?v=frlsGUHYu04) points out
> that as you use multiple databases with your Application,
> select_related() and prefetch_related() can no longer be used. In
> Christophe Pettus' videos I have not found such a comment, in fact
> select_related() and prefetch_related() seem to be habitually
> recommended to speed database connections up.
>
> Thanks for your insights!
>
> David
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAJdxA4uqMB_-ovXehbiUnqaX6Co6LP7LPMKAf88fb-Zb6VW_%2BQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to