Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在每个html页面中执行相同sql查询的最佳方法是什么_Python_Django_Query Optimization - Fatal编程技术网

Python 在每个html页面中执行相同sql查询的最佳方法是什么

Python 在每个html页面中执行相同sql查询的最佳方法是什么,python,django,query-optimization,Python,Django,Query Optimization,我在views.py文件中有10个html页面和10个函数。我在每个函数中都有相同的查询(和相同的结果)。那么,不在每个页面中执行相同的sql查询的最佳优化方法是什么呢 不太清楚您的意思是不想多次访问数据库,还是不想多次写出实际代码(这是“pythonic”的主要部分) 如果是后者,那就调查一下。这些是非常强大的工具,可以让您编写更少的锅炉板代码,并使您的应用程序更易于维护。例如,您可以编写一个包含查询的基类,而所有其他视图都可以从该基类继承,并添加它们自己的模板/从一个视图更改为另一个视图的任

我在views.py文件中有10个html页面和10个函数。我在每个函数中都有相同的查询(和相同的结果)。那么,不在每个页面中执行相同的sql查询的最佳优化方法是什么呢

不太清楚您的意思是不想多次访问数据库,还是不想多次写出实际代码(这是“pythonic”的主要部分)

如果是后者,那就调查一下。这些是非常强大的工具,可以让您编写更少的锅炉板代码,并使您的应用程序更易于维护。例如,您可以编写一个包含查询的基类,而所有其他视图都可以从该基类继承,并添加它们自己的模板/从一个视图更改为另一个视图的任何内容

如果是前者,您担心数据库命中率,那么我会问A)查询真的那么昂贵,需要优化吗?和B)如果是如此昂贵,你确定有非常好的理由需要在10个不同的视图中重复它吗

如果这两个问题的答案都是肯定的,那么您需要使用类似于和django的缓存框架的东西来研究缓存

今后,请在您的问题中提供更多信息。举例说明你的观点/解释你为什么需要做你正在尝试做的事情,不仅可以帮助人们回答你的问题,还可以为你指出更好解决问题的方向。

我考虑“不要重复你自己”。我说的是我的个人资料部分。我希望个人资料信息存在于每个页面中。例如推特。每个html页面中都存在您的关注、tweets、followerd vs。(抱歉我的英语不好)所以我想这两个问题对我来说都很重要。这里的简短回答是“不要过早优化”。从数据库中提取配置文件信息是一个非常小的事务,您将看到缓存和非缓存之间几乎没有区别。即使对于更昂贵的查询,memcached也足以处理它。