好的,我有一个包含大量数据的Postgres表。特别是,当我使用id
上的条件执行SELECT查询时,它会发现结果正常;但如果我在person_id
列(其person_id
和course_id
之间的联合索引)上执行此操作,则它什么都没找到。具体来说,似乎无法根据person_id
检索结果; 10482不会产生任何结果,但10484会产生任何结果。
可能会发生什么?
文稿:
CS198=# select * from enrollments where id=19513;
select * from enrollments where id=19513;
id | person_id | course_id | position | seniority
-------+-----------+-----------+----------+-----------
19513 | 10482 | 177 | Student | 0
(1 row)
Time: 0.345 ms
CS198=# select * from enrollments where id=19513 and person_id=10482;
select * from enrollments where id=19513 and person_id=10482;
id | person_id | course_id | position | seniority
-------+-----------+-----------+----------+-----------
19513 | 10482 | 177 | Student | 0
(1 row)
Time: 0.370 ms
CS198=# select * from enrollments where person_id=10482;
select * from enrollments where person_id=10482;
Time: 0.369 ms
请注意,在最后一种情况下......没有显示结果。跆拳道?
提前致谢!我很困惑:P
编辑:奇怪的是,就像上面的成绩单一样,它没有报告有0行结果;它根本不打印任何东西。通常,当没有结果时,它会明确地告诉我;也许我的Postgres配置搞砸了?
\timing on
\setenv LESS -imx4F
\x auto
\set HISTCONTROL ignorespace
\set HISTFILE ~/.psql_history- :DBNAME
\set HISTSIZE 20000
\pset null '[NULL]'
编辑2:使用Induction,一个不同的SQL客户端而不是psql
,它确实显示了缺少的结果;所以真正的问题是:我的psql
配置可能会出现什么问题?