擅长:python、mysql、java
<p>如果您有数据库路由和多个连接,那么计算数据库命中率就比较困难,因为<code>connection.queries</code>
据我所知,只考虑默认连接。</p>
<p>包括所有连接:</p>
<pre><code>from django.db import connections,connection,reset_queries
from django.conf import settings
settings.DEBUG = True
...
def query_count_all()->int:
query_total = 0
for c in connections.all():
query_total += len(c.queries)
return query_total
</code></pre>
<p>或者更简洁地说:</p>
<pre><code>def query_count_all()->int:
return sum(len(c.queries) for c in connections.all())
</code></pre>
<p><code>reset_queries()</code>已处理多个连接</p>