有效地检查值是否在一组已知值中

时间:2016-12-27 07:24:33

标签: postgresql

在表格中的大量行中,我想选择一个不是最近使用的特定行的成员的行。该集合作为ID列表进行维护。我目前的代码如下:

used = [123,234,345,456,567]
cur.execute("select id from tracks order by id=any(%s), random()", [used])

(Python + psycopg2;%s在发送给Postgres后转换为ARRAY [...]。)

PG文档警告我,数组不是集合,这表明" = any"检查是线性搜索。是否有更整洁和/或更有效的表达方式?

0 个答案:

没有答案