<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.calcite.materialize (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="org.apache.calcite.materialize (Apache Calcite calcite API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../overview-summary.html">概览</a></li>
<li class="navBarCell1Rev">程序包</li>
<li>类</li>
<li><a href="package-tree.html">树</a></li>
<li><a href="../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../index-all.html">索引</a></li>
<li><a href="../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/calcite/linq4j/tree/package-summary.html">上一个程序包</a></li>
<li><a href="../../../../org/apache/calcite/model/package-summary.html">下一个程序包</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/materialize/package-summary.html" target="_top">框架</a></li>
<li><a href="package-summary.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="程序包" class="title">程序包&nbsp;org.apache.calcite.materialize</h1>
<div class="docSummary">
<div class="block">Management of materialized query results.</div>
</div>
<p>请参阅:&nbsp;<a href="#package.description">说明</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="接口概要表, 列表接口和解释">
<caption><span>接口概要</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">接口</th>
<th class="colLast" scope="col">说明</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/LatticeStatisticProvider.html" title="org.apache.calcite.materialize中的接口">LatticeStatisticProvider</a></td>
<td class="colLast">
<div class="block">Estimates row counts for a lattice and its attributes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/LatticeStatisticProvider.Factory.html" title="org.apache.calcite.materialize中的接口">LatticeStatisticProvider.Factory</a></td>
<td class="colLast">
<div class="block">Creates a <a href="../../../../org/apache/calcite/materialize/LatticeStatisticProvider.html" title="org.apache.calcite.materialize中的接口"><code>LatticeStatisticProvider</code></a> for a given
 <a href="../../../../org/apache/calcite/materialize/Lattice.html" title="org.apache.calcite.materialize中的类"><code>Lattice</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/MaterializationService.TableFactory.html" title="org.apache.calcite.materialize中的接口">MaterializationService.TableFactory</a></td>
<td class="colLast">
<div class="block">Creates tables that represent a materialized view.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/SqlStatisticProvider.html" title="org.apache.calcite.materialize中的接口">SqlStatisticProvider</a></td>
<td class="colLast">
<div class="block">Estimates row counts for tables and columns, and whether combinations of
 columns form primary/unique and foreign keys.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="类概要表, 列表类和解释">
<caption><span>类概要</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">类</th>
<th class="colLast" scope="col">说明</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/DelegatingLatticeStatisticProvider.html" title="org.apache.calcite.materialize中的类">DelegatingLatticeStatisticProvider</a></td>
<td class="colLast">
<div class="block">Implementation of <a href="../../../../org/apache/calcite/materialize/LatticeStatisticProvider.html" title="org.apache.calcite.materialize中的接口"><code>LatticeStatisticProvider</code></a> that delegates
 to an underlying provider.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.html" title="org.apache.calcite.materialize中的类">Lattice</a></td>
<td class="colLast">
<div class="block">Structure that allows materialized views based upon a star schema to be
 recognized and recommended.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.BaseColumn.html" title="org.apache.calcite.materialize中的类">Lattice.BaseColumn</a></td>
<td class="colLast">
<div class="block">Column in a lattice.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.Builder.html" title="org.apache.calcite.materialize中的类">Lattice.Builder</a></td>
<td class="colLast">
<div class="block">Lattice builder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.Column.html" title="org.apache.calcite.materialize中的类">Lattice.Column</a></td>
<td class="colLast">
<div class="block">Column in a lattice.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.DerivedColumn.html" title="org.apache.calcite.materialize中的类">Lattice.DerivedColumn</a></td>
<td class="colLast">
<div class="block">Column in a lattice that is based upon a SQL expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.Measure.html" title="org.apache.calcite.materialize中的类">Lattice.Measure</a></td>
<td class="colLast">
<div class="block">A measure within a <a href="../../../../org/apache/calcite/materialize/Lattice.html" title="org.apache.calcite.materialize中的类"><code>Lattice</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.SqlWriter.html" title="org.apache.calcite.materialize中的类">Lattice.SqlWriter</a></td>
<td class="colLast">
<div class="block">The information necessary to convert a column to SQL.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.Tile.html" title="org.apache.calcite.materialize中的类">Lattice.Tile</a></td>
<td class="colLast">
<div class="block">Materialized aggregate within a lattice.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattice.TileBuilder.html" title="org.apache.calcite.materialize中的类">Lattice.TileBuilder</a></td>
<td class="colLast">
<div class="block">Tile builder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/LatticeChildNode.html" title="org.apache.calcite.materialize中的类">LatticeChildNode</a></td>
<td class="colLast">
<div class="block">Non-root node in a <a href="../../../../org/apache/calcite/materialize/Lattice.html" title="org.apache.calcite.materialize中的类"><code>Lattice</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/LatticeNode.html" title="org.apache.calcite.materialize中的类">LatticeNode</a></td>
<td class="colLast">
<div class="block">Source relation of a lattice.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/LatticeRootNode.html" title="org.apache.calcite.materialize中的类">LatticeRootNode</a></td>
<td class="colLast">
<div class="block">Root node in a <a href="../../../../org/apache/calcite/materialize/Lattice.html" title="org.apache.calcite.materialize中的类"><code>Lattice</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/Lattices.html" title="org.apache.calcite.materialize中的类">Lattices</a></td>
<td class="colLast">
<div class="block">Utilities for <a href="../../../../org/apache/calcite/materialize/Lattice.html" title="org.apache.calcite.materialize中的类"><code>Lattice</code></a>, <a href="../../../../org/apache/calcite/materialize/LatticeStatisticProvider.html" title="org.apache.calcite.materialize中的接口"><code>LatticeStatisticProvider</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/LatticeSuggester.html" title="org.apache.calcite.materialize中的类">LatticeSuggester</a></td>
<td class="colLast">
<div class="block">Algorithm that suggests a set of lattices.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/LatticeTable.html" title="org.apache.calcite.materialize中的类">LatticeTable</a></td>
<td class="colLast">
<div class="block">Table registered in the graph.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/MaterializationKey.html" title="org.apache.calcite.materialize中的类">MaterializationKey</a></td>
<td class="colLast">
<div class="block">Unique identifier for a materialization.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/MaterializationService.html" title="org.apache.calcite.materialize中的类">MaterializationService</a></td>
<td class="colLast">
<div class="block">Manages the collection of materialized tables known to the system,
 and the process by which they become valid and invalid.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/MaterializationService.DefaultTableFactory.html" title="org.apache.calcite.materialize中的类">MaterializationService.DefaultTableFactory</a></td>
<td class="colLast">
<div class="block">Default implementation of <a href="../../../../org/apache/calcite/materialize/MaterializationService.TableFactory.html" title="org.apache.calcite.materialize中的接口"><code>MaterializationService.TableFactory</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/TileKey.html" title="org.apache.calcite.materialize中的类">TileKey</a></td>
<td class="colLast">
<div class="block">Definition of a particular combination of dimensions and measures of a
 lattice that is the basis of a materialization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/calcite/materialize/TileSuggester.html" title="org.apache.calcite.materialize中的类">TileSuggester</a></td>
<td class="colLast">
<div class="block">Algorithm that suggests a set of initial tiles (materialized aggregate views)
 for a given lattice.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!--   -->
</a>
<h2 title="程序包org.apache.calcite.materialize的说明">程序包org.apache.calcite.materialize的说明</h2>
<div class="block">Management of materialized query results.

 <p>An actor (<code>MaterializationActor</code>)
 maintains the state of all
 materializations in the system and is wrapped in a service
 (<a href="../../../../org/apache/calcite/materialize/MaterializationService.html" title="org.apache.calcite.materialize中的类"><code>MaterializationService</code></a>)
 for access from other parts of the system.</p>

 <p>Optimizer rules allow Calcite to rewrite queries using materializations,
 if they are valid (that is, contain the same result as executing their
 defining query) and lower cost.

 <p>In future, the actor may manage the process of updating materializations,
 instantiating materializations from the intermediate results of queries, and
 recognize what materializations would be useful based on actual query load.</div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../overview-summary.html">概览</a></li>
<li class="navBarCell1Rev">程序包</li>
<li>类</li>
<li><a href="package-tree.html">树</a></li>
<li><a href="../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../index-all.html">索引</a></li>
<li><a href="../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/calcite/linq4j/tree/package-summary.html">上一个程序包</a></li>
<li><a href="../../../../org/apache/calcite/model/package-summary.html">下一个程序包</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/calcite/materialize/package-summary.html" target="_top">框架</a></li>
<li><a href="package-summary.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>
