假设两个同时进行的事务在Postgresql上执行以下查询:SELECT * FROM mytable WHERE id IN (1, 2, 3, 4) FOR UPDATESELECT* FROM mytable WHERE id IN (6, 3, 2, 1) FOR UPDATE
由于Postgresql以不一致的顺序获取行锁,是否有可能发生死锁?例如,如果Postgresql按本例中in的顺序获
给定1或多个键,查询尝试在给定时间约束的每个时间序列中查找最新值。这是explain中的相关部分。我们正在获取单个时间序列的数据(本例中有367个值):
-> Index Scan using quotes_idx on quotes q (cost=0.58..8.61 rows=1 width假设我正确地读取了输出,为什么引擎要遍历374页(~3Mb,给定我们的8kb页面大小)才能返回~26