postgresql 一个查询生成三个查询进程正常吗?

8i9zcol2  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(121)

我有一个rails应用程序,正在尝试解决一些数据库性能问题,当我从rails控制台进行查询时,我注意到:

MyModel.where("field ILIKE '%hello%'")

当我查看postgres的活动查询时:

SELECT pid, age(clock_timestamp(), query_start), usename, query FROM pg_stat_activity WHERE state != 'idle' AND query NOT ILIKE '%pg_stat_activity%';

我看到:

28877 | 00:00:00.868747 | me | SELECT "shares".* FROM "shares" WHERE (message ilike '%hello%')
 28960 | 00:00:00.868757 | me | SELECT "shares".* FROM "shares" WHERE (message ilike '%hello%')
 28961 | 00:00:00.868759 | me | SELECT "shares".* FROM "shares" WHERE (message ilike '%hello%')
(3 rows)

我很担心一个命令会产生3个进程???这正常吗?

cvxl0en2

cvxl0en21#

查看pg_stat_activitybackend_type列,您可能会发现其中两个进程是并行工作程序。您正在看到并行查询正在运行。

相关问题