我有一个73 GB的大表table1
。我的大多数查询涉及获取表中满足某些条件的最新100个条目。我使用Django作为此Web应用程序的后端。我的查询与此类似:
table_object = table1.objects.filter(first_filter_field=6)
order_by = '-created_on'
table_object = .filter(not_null_field__isnull=False).order_by(order_by)
table_object = table_object[offset:(offset + limit)]
我认为这个查询需要花费太多时间。
我是Django的新手,所以请尽可能描述并尽可能地提供相关材料的链接。
答案 0 :(得分:3)
1)您可以使用名为EXPLAIN ANALYZE的内容。这会帮助你。有关详细信息,请参阅此post
2)创建属性时使用db_index=True。这将帮助您加快搜索速度,因为它会为添加它的列编制索引。
注意 - 对于主键列,默认情况下为db_index = True。但是,您可以为多个列添加db_index = True。