我在Azure SQL数据库上的查询随机失败。如果查询失败,该错误说明这是因为非阻塞套接字会阻塞。但是,我是唯一的用户,查询只是没有插入或并行操作的select语句。另外,当我从Visual Studio运行失败的查询并将其作为查询粘贴到SQL Query Operations控制台中时,它运行良好。我早些时候发现查询是随机超时的,因为某些where子句列未建立索引。我将它们编入索引并得到了一些改进。同样,不同的查询随机失败。我做了一些阅读,发现对command.CommandTimeout的引用不清楚。显然,它默认设置为30秒。我将其提高到60。不同的失败,但仍然是随机的。我将其提高到600,然后猜猜是什么,整个系统都锁定了,并且从不返回第一个查询或失败。这些不是非常复杂的查询,并且对列进行了索引。我从未在MySQL或Oracle甚至DB2上遇到过此类问题。这是怎么回事,这些简单查询从表中选择x,y,z,其中Z在(a,b,c)中,Y在(d,e,f)中,并且customer_count <20按w desc排序,由于失败超时?所有where子句列都已建立索引。该表大约有250万行。