How to fetch 10000 above record within second in django?

106 views
Skip to first unread message

Prashanth Patelc

unread,
Jan 17, 2023, 12:02:12 AM1/17/23
to django...@googlegroups.com
Hi all,

How to fetch the data from db (mysql) above 10000 records within second, 

I written query it's taking more time like 38 seconds, how to to fetch the lac of records within seconds any example in django using orm or MySQL query ?


Clive Bruton

unread,
Jan 17, 2023, 2:10:22 AM1/17/23
to django...@googlegroups.com

On 17 Jan 2023, at 05:01, Prashanth Patelc wrote:

> I written query it's taking more time like 38 seconds, how to to
> fetch the lac of records within seconds any example in django using
> orm or MySQL query ?

Are you saying that you have a raw SQL query, or you are using a
Django query?

My experience is that the biggest lag in database retrieval is the
amount of data retrieved, so if you can reduce the number of fields
returned, that would be a good start.

If you are using a Django query, and it has related elements, then
the biggest boost you can give is using "select_related" and
"prefetch_related".


-- Clive

Prashanth Patelc

unread,
Jan 17, 2023, 2:44:48 AM1/17/23
to django...@googlegroups.com
I'm using orm query fetching all data and showing into html templates , it's taking more time for get the data , 

--
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 django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/9EF46118-6870-46AD-BF58-12AEC8C6A518%40indx.co.uk.

Clive Bruton

unread,
Jan 17, 2023, 6:39:40 AM1/17/23
to django...@googlegroups.com
The easiest way to debug this is to install django_debug_toolbar and
look at the sql queries to see where the hold-up is.

As previously, restrict the number of fields returned using "values"
and/or use "select_related" or "prefetch_related" to get related data
in one or two queries, rather than having Django getting that data on
(potentially) multiple queries per record.


-- Clive
> d/msgid/django-users/CAMCU6CrAKQL6qA6hWHPDFbfpCT1R9v5%2BY_Qi-HOkPf%
> 3DOXYt2yA%40mail.gmail.com.

Ayanfeoluwa Koyinsola

unread,
Jan 17, 2023, 7:07:34 AM1/17/23
to django...@googlegroups.com
You might now have to display all the data at once, see if you can use paginisation to reduce the numbers of queries

Prashanth Patelc

unread,
Jan 17, 2023, 7:11:10 AM1/17/23
to django...@googlegroups.com
I'm already using pagination but when I hiting particular url it is taking more than 1minute for loading the data and displaying in html .

Clive Bruton

unread,
Jan 17, 2023, 10:40:27 AM1/17/23
to django...@googlegroups.com

On 17 Jan 2023, at 12:06, Ayanfeoluwa Koyinsola wrote:

> You might now have to display all the data at once, see if you can
> use paginisation to reduce the numbers of queries

I think this will only help if there are related lookups.


-- Clive

Jason

unread,
Jan 18, 2023, 1:13:42 PM1/18/23
to Django users
https://dev.mysql.com/doc/refman/8.0/en/using-explain.html is a good guide to showing how to use EXPLAIN to see what your query is running.

https://use-the-index-luke.com/ is a great introductory source for indexes

https://django-debug-toolbar.readthedocs.io/en/latest/ added to your project can show where your bottlenecks are.

Reply all
Reply to author
Forward
0 new messages