簡體   English   中英

方解石做全表掃描

[英]Calcite doing full table scan

我正在使用方解石從MySql和Vertica進行查詢。

運行此查詢時:

statement.executeQuery(
        "SELECT a.name, b.name " +
        "FROM mysqlschema.tableA as a " +
        "INNER JOIN verticaschema.tableB as b ON a.id = b.id " +
        "WHERE a.id = 1 AND b.id = 1 "));

由於某種原因,我看到方解石正確地訪問了帶有正確謂詞的tableA,但是出於某種原因,它正在第二個表上執行SELECT * FROM verticaschema.tableB

有沒有一種優化它的方法,以便方解石也將對表B運行謂詞b.id=1

謝謝

Apache Calcite有一些限制

當前的局限性:JDBC適配器當前僅下推表掃描操作。 所有其他處理(過濾,聯接,聚集等)都在方解石內部進行。 我們的目標是盡可能減少對源系統的處理,盡可能地翻譯語法,數據類型和內置函數。 如果Calcite查詢基於單個JDBC數據庫中的表,則原則上整個查詢應轉到該數據庫。 如果表來自多個JDBC來源,或JDBC和非JDBC的混合,則Calcite將使用它可以使用的最高效的分布式查詢方法。

您應該自己實現它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM