在数据库中常常会有执行 INSERT INTO <Table> SELECT ……的场景,如果 SELECT 的执行时间过长会导致整体执行效率过低。只读分析引擎作为承载在线 SQL 中的复杂查询。可以通过使用此功能将 INSERT …… SELECT……语句中的 SELECT 部分放到只读分析引擎中执行,加速 SELECT 的查询效率。然后将数据自动回写至读写节点中,从而大幅度提升业务的执行效率。
技术原理

如上图所示,您可以在只读分析引擎中执行
INSERT…SELECT…
语句。其中 SELECT 语句将会通过只读分析引擎加速执行,并且将查询的结果直接写入读写实例中,从而提升整体执行效率。使用场景
注意:
此功能仅适用于对数据延迟不敏感的场景。因为只读分析引擎为异步复制模式,所以当只读分析引擎存在延迟时,查询的结果与读写实例中存在一定的时差。
推荐在以下场景使用此功能:当查询条件复杂、SQL 语句执行时间较长但查询结果集的数据量较小时。在这种场景下,使用此功能可以显著提高性能,因为只读分析引擎会加速 SELECT 查询的执行效率。
使用此功能并不是在所有场景下都能带来性能收益,在某些场景下性能可能会下降。例如:
INSERT…SELECT…
语句中的 SELECT 查询比较简单时,从只读分析引擎读取数据并回写到读写实例会带来额外的网络开销。对比直接从读写实例读取数据的优势并不明显。INSERT…SELECT…
语句中的 SELECT 查询结果集数据量大的情况下,此时主要的性能瓶颈在于结果集通过网络传输并写入读写实例的过程。此场景无法使用此功能来优化性能。