小编got*_*o10的帖子

为什么子查询在静态列表没有时会导致扫描?

我有一个包含子查询的查询,该子查询总是导致一个非常大的表的SCAN导致查询时间很短.

这是我正在使用的查询:

SELECT PersonId 
  FROM person 
 WHERE PersonId IN (
                    SELECT PersonId 
                      FROM relationship 
                     WHERE RelatedToPersonId = 12270351721
                   );
Run Code Online (Sandbox Code Playgroud)

查询计划报告为:

SCAN TABLE person (~100000 rows)
EXECUTE LIST SUBQUERY 1
SEARCH TABLE relationship USING INDEX relationship_RelatedToPersonId_IDX (RelatedToPersonId=?) (~10 rows)
Run Code Online (Sandbox Code Playgroud)

具有静态列表的相同查询(相当于子查询的结果):

SELECT PersonId 
  FROM person 
 WHERE PersonId IN (12270351727,12270351730,12270367969,12387741400);
Run Code Online (Sandbox Code Playgroud)

以及查询计划:

SEARCH TABLE person USING COVERING INDEX sqlite_autoindex_person_1 (PersonId=?) (~5 rows)
EXECUTE LIST SUBQUERY 1
Run Code Online (Sandbox Code Playgroud)

如果第二个查询没有,为什么第一个查询会提示扫描?

sql sqlite

10
推荐指数
1
解决办法
1743
查看次数

如何协调相机预览大小和图片大小之间的宽高比差异

我有一个相机应用程序,根据我的布局特征(主要是宽高比)选择预览大小,然后根据其他约束(最小尺寸)选择图片大小.这通常会导致图片的宽高比与预览不同.

这本身不是问题,但我需要将预览中的矩形映射到图片上的等效矩形,以便我可以提取拍摄照片时预览中可见的最终照片的相同区域.

我知道有不同的宽高比意味着将会有一些矩形的部分没有重叠,但我的工作距离不够近,这应该是一个问题.

如果无法直接了解预览和照片地图的方式,是否有可能确定它们如何映射到本机相机?如果我能以编程方式检测本机相机宽高比,我可能能够确定裁剪方案.

camera android surfaceview

7
推荐指数
1
解决办法
4366
查看次数

标签 统计

android ×1

camera ×1

sql ×1

sqlite ×1

surfaceview ×1