我有一个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个进程???这正常吗?
1条答案
按热度按时间cvxl0en21#
查看
pg_stat_activity
的backend_type
列,您可能会发现其中两个进程是并行工作程序。您正在看到并行查询正在运行。