数据库连接限制是什么意思?

时间:2018-11-16 14:58:27

标签: django database postgresql

我正在将Django与来自heroku的Postgres数据库一起使用。 heroku数据库有一个

“连接限制为20”

我不明白这是什么意思。

如何定义连接?每次用户访问我的网站,我都会得到一些数据库资料。因为我的网站需要连接到数据库才能获取此数据,所以这已经是连接了吗?

如果达到连接总数会怎样?网站仍然可以正常工作吗?

1 个答案:

答案 0 :(得分:3)

您执行的每个查询都会与数据库建立连接。

例如,如果您想从数据库中获取一些数据,通常会发生以下情况:

1-您在Django级别执行查询。

2-Django会将您的查询转换为SQL。

3-Django创建与数据库的连接。

4-您的查询将在数据库中执行。

5-Django将收到结果。

6-Django将关闭连接。

该限制意味着您只能同时执行20到3到6步的任务。

如果您超过此限制,则您的应用程序将遇到错误,或者您的应用程序将尝试尝试直到建立连接为止(尝试次数受到限制,并且如果您也超过尝试次数,则会收到错误消息),这将导致您的应用程序变慢或因某些请求而中断。

您要么必须升级服务器/获得更多服务器,要么必须优化代码以进行更少的查询(例如,合并查询)。