【问题标题】:Postgresql select command slow if record doesn't exist如果记录不存在,Postgresql 选择命令会变慢
【发布时间】:2013-07-06 13:43:05
【问题描述】:

我有以下选择命令。这些表有大约 200 万条记录。我要找的记录不存在。但是选择查询很慢。我该如何加快速度?其他人也遇到过这个问题,see here,但这种情况下的解决方案并不适用。

a1_value = 'AA'
a2_value = "1"
cur.execute("SELECT pk, a1, a2 FROM db_name WHERE a1 = %s AND a2 = %s LIMIT 1", (a1_value, a2_value))

【问题讨论】:

  • 在 a1 和 a2 上放置索引
  • 对不起,我是新手。你什么意思?能给个代码示例吗?
  • 我没有使用过 postgresql,但您必须在 where 子句中使用的列上创建索引。这将加快速度显着 documenation
  • 请务必查看上方链接底部的示例

标签: python psycopg2 postgresql-9.2


【解决方案1】:

答案是在 a1 和 a2 上放置索引。例如: cur.execute("创建索引 index_title ON db_name (a1, a2)") cur.execute("SELECT pk, a1, a2 FROM db_name WHERE a1 = %s AND a2 = %s LIMIT 1", (a1_value, a2_value))

【讨论】:

    猜你喜欢
    • 2017-11-06
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多