[英]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.