相关疑难解决方法(0)

使用参数而不是硬编码字符串时,Postgres查询非常慢

我遇到了这个Postgres问题,如果我在查询字符串上使用参数vs硬编码它的相同查询需要很长时间才能执行.列名是'media_type',它是VARCHAR(20).我正在使用Symfony2和Doctrine2 ORM从PHP运行这些查询,并且该表有大约1.000.000条记录.

我的查询有问题吗?它可能是Postgres配置问题吗?

1 - media_type的硬编码值

duration: 5.365 ms  parse pdo_stmt_00000001: SELECT id,site_id FROM item where media_type = 'Collection' AND enabled = 'true' AND site_id = $1 AND user_id = $2 ORDER BY id DESC LIMIT $3 OFFSET $4
duration: 0.142 ms  bind pdo_stmt_00000001: SELECT id,site_id FROM item where media_type = 'Collection' AND enabled = 'true' AND site_id = $1 AND user_id = $2 ORDER BY id DESC LIMIT $3 OFFSET $4
parameters: $1 = '1', $2 = '1', $3 …
Run Code Online (Sandbox Code Playgroud)

postgresql sql-execution-plan symfony doctrine-orm postgresql-9.1

4
推荐指数
1
解决办法
3658
查看次数