Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 执行select查询时,哪些行获取锁_Google Cloud Platform_Google Cloud Spanner - Fatal编程技术网

Google cloud platform 执行select查询时,哪些行获取锁

Google cloud platform 执行select查询时,哪些行获取锁,google-cloud-platform,google-cloud-spanner,Google Cloud Platform,Google Cloud Spanner,对于select查询,获取哪些行的读取锁?只是与筛选器匹配的行,还是必须扫描的所有行?首先,请注意,只有读写事务需要锁,而只读事务不需要锁。() 云扳手将获取所有返回行上的锁。它还将获得足够多的额外锁以避免“误报”,即由于最初与筛选器不匹配而未返回的行,但在提交事务之前会进行修改以匹配筛选器。这些错误否定通常被称为“幻影行”:您执行一个查询并获得一组结果,然后在同一事务中执行完全相同的查询并获得更多行。如果查询计划对基表进行扫描,我们将对整个表进行范围锁定,以便在事务完成之前不会出现幻影行。如果

对于select查询,获取哪些行的读取锁?只是与筛选器匹配的行,还是必须扫描的所有行?

首先,请注意,只有读写事务需要锁,而只读事务不需要锁。()


云扳手将获取所有返回行上的锁。它还将获得足够多的额外锁以避免“误报”,即由于最初与筛选器不匹配而未返回的行,但在提交事务之前会进行修改以匹配筛选器。这些错误否定通常被称为“幻影行”:您执行一个查询并获得一组结果,然后在同一事务中执行完全相同的查询并获得更多行。如果查询计划对基表进行扫描,我们将对整个表进行范围锁定,以便在事务完成之前不会出现幻影行。如果查询计划使用索引查找字段“Y”的值为“X”的行,那么我们将锁定一个与“Y=X”的所有可能索引项对应的索引范围,这样,如果任何事务想要插入一个带有“Y=X”的新索引项,就必须等到事务完成,请注意,锁仅用于读写事务,而不用于只读事务。()

云扳手将获取所有返回行上的锁。它还将获得足够多的额外锁以避免“误报”,即由于最初与筛选器不匹配而未返回的行,但在提交事务之前会进行修改以匹配筛选器。这些错误否定通常被称为“幻影行”:您执行一个查询并获得一组结果,然后在同一事务中执行完全相同的查询并获得更多行。如果查询计划对基表进行扫描,我们将对整个表进行范围锁定,以便在事务完成之前不会出现幻影行。如果查询计划使用索引查找字段“Y”的值为“X”的行,那么我们将锁定一个与“Y=X”的所有可能索引项对应的索引范围,这样,如果任何事务想要插入一个具有“Y=X”的新索引项,就必须等到事务完成