View
6
Download
0
Category
Preview:
Citation preview
Topic 4: Query Optimization
Chapters 12 and 15 of Cow Book
Arun Kumar
1
CSE 232A Graduate Database Systems
Slide ACKs: Jignesh Patel, Paris Koutris
2
Query
Query Result
Database Server
Select R.text from Report R, Weather W where W.image.rain()
and W.city = R.city and W.date = R.date
and R.text.
matches(“insurance claims”)
QuerySyntax Tree and
Logical Query Plan
Parser
Physical Query Plan
Optimizer
Segments
Query Scheduler |…|……|………..|………..|
|…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..|
Query Result
Execute Operators
Lifecycle of a Query
3
Recall the Netflix Schema
RatingID Stars RateDate UID MID1 3.5 08/27/15 79 20… … … … …
UID Name Age JoinDate79 Alice 23 01/10/1380 Bob 41 05/10/13
MID Name Year Director20 Inception 2010 Christopher Nolan16 Avatar 2009 Jim Cameron
Ratings
Users
Movies
4
Example SQL Query
RatingID Stars RateDate UID MIDUID Name Age JoinDateMID Name Year Director
SELECT M.Year, COUNT(*) AS NumBest FROM Ratings R, Movies M WHERE R.MID = M.MID AND R.Stars = 5 GROUP BY M.Year ORDER BY NumBest DESC
Suppose, we also have a B+Tree Index on Ratings (Stars)
Logical Query Plan
5
SELECT R.stars = 5
Ratings Table
SELECT No predicate
Movies Table
JOIN R.MID = M.MID
GROUP BY AGGREGATE M.Year, COUNT(*)
SORT On NumBest
Result Table
Called “Logical” Operators
From extended RA
Each one has alternate “physical” implementations
6
Indexed Access Use Index on Stars
Ratings Table
File Scan Read heapfile
Movies Table
Index-Nested Loop Join
Sort-based Aggregate
External Merge-Sort In-mem quicksort; B=50
Result Table Physical Query Plan
Called “Physical” Operators
Specifies exact algorithm/code to run for each logical operator, with all parameters (if any)
Aka “Query Evaluation Plan”
7
File Scan Read Index leaf pages
Ratings Table
File Scan Read heapfile
Movies Table
Hash Join
Hash-based Aggregate
External Merge-Sort In-mem quicksort; B=50
Result Table Physical Query Plan
This is also a correct PQP for the given LQP!
Q: Which PQP is faster?
This is a key job of the RDBMS Query Optimizer!
9
Meet Query Optimization
A given LQP could have several possible PQPs with very different runtime performanceBasic Idea:
Get the optimal (fastest) PQP for a given LQPGoal (Ideal):
Goal (Realistic): Fine, just avoid the “clearly awful” PQPs!
Query optimization is a metaphor for life itself! It is often hard to even know what an optimal plan would be, but it is feasible to avoid many obviously bad plans!Jeff Naughton
10
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
11
Overview of Query Optimizer
SQL Query
Logical Query Plan
Physical Query Plan (Optimized)
Parser
Plan Enumerator
Plan Cost Estimator
Optimizer
To Scheduler/Executor
Catalog
System Catalog
12
❖ Set of pre-defined relations for metadata about DB (schema) ❖ For each Relation: Relation name, File name File structure (heap file vs. clustered B+ tree, etc.) Attribute names and types; Integrity constraints; Indexes ❖ For each Index: Index name, Structure (B+ tree vs. hash, etc.); Index key
❖ For each View: View name, and View definition
Statistics in the System Catalog
13
❖ RDBMS periodically collects stats about DB (instance) ❖ For each Table R: Cardinality, i.e., number of tuples, NTuples (R) Size, i.e., number of pages, NPages (R), or just NR ❖ For each Index X: Cardinality, i.e., number of distinct keys IKeys (X)
Size, i.e., number of pages IPages (X) (for a B+ tree, this is the number of leaf pages only)
Height (for tree indexes) IHeight (X) Min and max keys in index ILow (X), IHigh (X)
14
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
15
File Scan Read Index leaf pages
Movies Table
File Scan Read heapfile
RatingsTable
Hash Join
Hash-based Aggregate
External Merge-Sort In-mem quicksort; B=50
Result Table Concept: Pipelining
Q: Does the hash-based aggregate have to wait till the entire output of the “upstream” hash join is available?
No! We can “pipeline” the output of the join – pass on a join output tuple as soon as it is obtained!
16
Concept: Pipelining
Do not force “downstream” physical operators to wait till the entire output is availableBasic Idea:
Display output to the user incrementally CPU Parallelism in multi-core systems!Benefits:
Tuples
File Scan
Hash Join
Hash-based Aggregate
17
Concept: Pipelining
❖ Crucial for PQPs with workflow of many phy. ops. ❖ Common feature of almost all RDBMSs ❖ Works for many operators: SCAN, HASH JOIN, etc.
Q: Are all physical operators amenable to pipelining?
No! Some may “stall” the pipeline: “Blocking Op”
Usually, any phy. op. involving sorting is blocking!
A blocking op. requires its output to be Materialized as a temporary table
18
File Scan Read heapfile
Movies Table
File Scan Read heapfile
RatingsTable
Sort-Merge Join
Hash-based Aggregate
External Merge-Sort In-mem quicksort; B=50
Result Table Blocking Op
This phy. op. is blocking because we need to sort Movies and sort Ratings (materialize the output) before we can start any aggregate computations!
19
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
20
Mechanism: Iterator Interface
❖ Software API to process PQP; makes pipelining easy to impl. ❖ Enables us to abstract away individual phy. op. impl. details ❖ Three main functions in usage interface of each phy. op.: Open(): Initialize the phy. op. “state”, get arguments Allocate input and output buffers GetNext(): Ask the phy. op. impl. to “deliver” next
output tuple; pass it on; if blocking, wait Close(): Clear phy. op. state, free up space
21
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
22
Overview of Query Optimizer
SQL Query
Logical Query Plan
Physical Query Plan (Optimized)
Parser
Plan Enumerator
Plan Cost Estimator
Optimizer
To Scheduler/Executor
Catalog
23
Enumerating Alternative PQPs
❖ Plan Enumerator explores various PQPs for a given LQP ❖ Challenge: Space of plans is huge! How to make it feasible? ❖ RDBMS Plan Enumerator has Rules to help determine what
plans to enumerate, and also consults Cost models
❖ Two main sources of Rules for enumerating plans: Logical: Algebraic Rewrites: Use relational algebra equivalence to rewrite LQP itself!
Physical: Choosing Phy. Op. Impl.: Use different phy. op. impl. for a given log. op. in LQP
24
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
25
Algebraic Rewrite Rules
❖ Rewrite a given RA query in to another that is equivalent (a
logical property) but might be faster (a physical property) ❖ RA operators have some formal properties we can exploit ❖ We will cover only a few rewrite rules: Single-operator Rewrites Unary operators Binary operators Cross-operator Rewrites
26
Unary Operator Rewrites
Q: Why are cascading rewrites beneficial?
�p1(�p2(R)) = �p2(�p1(R))
❖ Key unary operators in RA:
❖ Commutativity of
❖ Cascading of
❖ Cascading of
��
�
⇡
⇡
�p1(�p2(. . .�pn(R) . . . )) = �p1^p2^···^pn(R)
⇡A1(⇡A2(. . .⇡An(R) . . . )) = ⇡A1(R)
Ai ✓ Ai+18i = 1 . . . (n� 1)
27
Binary Operator Rewrites
Q: Why are these properties beneficial?
Q: What other binary operators in RA satisfy these?
❖ Key binary operator in RA:
❖ Associativity of
❖ Commutativity of R ./ S = S ./ R
./
./
./ (R ./ S) ./ T = R ./ (S ./ T )
28
Cross-Operator Rewrites
❖ Commuting and � ⇡ A ✓ B�p(A)(⇡B(R)) = ⇡B(�p(A)(R))
❖ Combining and � ⇥
❖ “Pushing the select”
❖ Commuting with and
A ✓ R.⇤
⇥⇡ ./
�p(R⇥ S) = R ./p S
�p(A)(R ./ S) = �p(A)(R) ./ S
�p(A)(R⇥ S) = �p(A)(R)⇥ S
⇡A(R⇥ S) = ⇡A\R.⇤(R)⇥ ⇡A\S.⇤(S)
⇡A(R ./p(B) S) = ⇡A\R.⇤(R) ./p(B) ⇡A\S.⇤(S)B ✓ A
30
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
31
Choosing Phy. Op. Impl.
3 options 3 options 4 options = 36 PQPs!
Q: With algebraic rewrites?!
❖ Given a (rewritten) LQP, pick phy. op. impl. for each log. op.
❖ Recall various RA op. impl. with their I/O (and CPU costs)
File scan vs Indexed (B+ Tree vs Hash)
Hashing-based vs Sorting-based vs Indexed
BNLJ vs INLJ vs SMJ vs HJ
etc.
�⇡./
32
Phy. Op. Impl.: Other Factors
❖ Are the indexes clustered or unclustered? ❖ Are there multiple matching indexes? Use multiple? ❖ Are index-only access paths possible for some ops? ❖ Are there “interesting orderings” among the inputs? ❖ Would sorted outputs benefit downstream ops? ❖ Estimation of cardinality of intermediate results! ❖ How best to reorder multi-table joins?
Still a hard, open research problem!Query optimizers are complex beasts!
33
Phy. Op. Impl.: Join Orderings❖ Since joins are associative, exponential number of orderings!
Left Deep tree Right Deep tree“Bushy” tree
❖ Almost all RDBMSs consider only left deep join trees Enables easy pipelining! Why?
❖ “Interesting orderings” idea from System R optimizer paper ❖ Dynamic program to combine enumeration and costing“Access Path Selection in a Relational Database Management System” SIGMOD’79
34
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
35
Overview of Query Optimizer
SQL Query
Logical Query Plan
Physical Query Plan (Optimized)
Parser
Plan Enumerator
Plan Cost Estimator
Optimizer
To Scheduler/Executor
Catalog
36
Costing PQPs
❖ For each PQP considered by the Plan Enumerator, the Plan
Cost Estimator computes “Cost” of the PQP Weighted sum of I/O cost and CPU cost (Distributed RDBMSs also include Network cost) ❖ Challenge: Given a PQP, compute overall cost ❖ Issues to consider: Pipelining vs. blocking ops; cannot simply add costs! Cardinality estimation for intermediate tables! Q: What statistics does the catalog have to help?
37
Costing PQPs
❖ Most RDBMSs use various heuristics to make costing tractable; so, it is approximate!
❖ Example: Complex predicates
Not enough info!
But, most RDBMSs use the independence heuristic!
Selectivity of conjunction = Product of selectivities
Thus, ≈ 0.05 * 0.1 = 0.005, i.e., 0.5%
38
Query Optimization: Summary
❖ Plan Enumerator and Cost Estimator work in lock step: Rules determine what PQPs are enumerated Logical: Algebraic rewrites of LQP Physical: Op. Impl. and ordering alternatives Cost models and heuristics help cost the PQPs ❖ Still an active research area! Parametric Q.O., Multi-objective Q.O.,
Multi-objective parametric Q.O., Multiple Q.O., Online/Adaptive Q.O., Dynamic re-optimization, etc.
39
Review Question
RatingID Stars RateDate UID MID
SELECT COUNT(DISTINCT UID) FROM Ratings
Page size 8KB; Buffer memory 4GB; 8B for each field
Propose an efficient physical plan and compute its I/O cost.
10m pages
Q: What if there was an unclustered B+ tree index on UID? (RecordID pointers can be assumed to be 8B too)
40
Review Question
RatingID Stars RateDate UID MID
MID Name Year Director
SELECT AVG(Stars) FROM Ratings R, Movies M WHERE R.MID = M.MID AND
M.Director = “Christopher Nolan” AND R.UID = 1234;
10m pages
100k pages
Page size 8KB; Buffer memory 4GB
Propose an efficient physical plan that does not materialize any intermediate data (fully pipelined) and compute its I/O cost.
41
Query Optimization
❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views
42
Introducing Materialized Views
❖ A View is a “virtual table” created with an SQL query
❖ A Materialized View is a physically instantiated/stored view
RatingID Stars RateDate UID MIDUID Name Age JoinDate MID Name Year DirectorExample:
SELECT AVG(Stars) FROM Ratings R, Movies M, Users U WHERE R.MID = M.MID AND R.UID = U.UID
M.Director = “Christopher Nolan” AND U.Age >= 20 AND U.Age < 30;
�AVG(Stars)(R ./ �Director=“Christopher Nolan”(M) ./ �20Age<30(U))<latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit>
Requires file scans of R, M, and U and, say, hash joins
43
Materialized Views Example
CREATE MATERIALIZED VIEW NolanRatings AS SELECT RatingID, Stars, UID, MID FROM Ratings R, Movies M WHERE R.MID = M.MID AND
M.Director = “Christopher Nolan”;
�AVG(Stars)(R ./ �Director=“Christopher Nolan”(M) ./ �20Age<30(U))<latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit>
RatingID Stars RateDate UID MIDUID Name Age JoinDate MID Name Year Director
Example:
Creates a subset of R with ratings for only Nolan’s moviesV ⇡RatingID,Stars,UID,MID(R ./ �Director=“Christopher Nolan”(M))
<latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit>
44
�AVG(Stars)(R ./ �Director=“Christopher Nolan”(M) ./ �20Age<30(U))<latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">AAACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWCC6h8JK2UjdJZZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUssEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUUv2y/yb6RGBdt+HRR55m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TTtF+e28UFM12E73rrr2xF/NU+euqY44Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWII4hxwHHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLLankTkstfXgf9vd3E4w9PO4evlnZssAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg==</latexit>
RatingID Stars RateDate UID MIDUID Name Age JoinDate MID Name Year Director
Example:
Given the materialized view V, RDBMS optimizer can automatically rewrite to use V to avoid scans of R and M
V ⇡RatingID,Stars,UID,MID(R ./ �Director=“Christopher Nolan”(M))<latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit>
�AVG(Stars)(V ./ �20Age<30(U))<latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">AAACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILBB8lnW3Hp8Xnn37rQ7l8g6+U+lyf+ggoIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBBpKKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY22U0yvHvMdp/R4PzXuJcSn6vOOArS1Ix0552Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IIuuRCC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc33j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit><latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">AAACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILBB8lnW3Hp8Xnn37rQ7l8g6+U+lyf+ggoIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBBpKKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY22U0yvHvMdp/R4PzXuJcSn6vOOArS1Ix0552Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IIuuRCC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc33j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit><latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">AAACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILBB8lnW3Hp8Xnn37rQ7l8g6+U+lyf+ggoIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBBpKKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY22U0yvHvMdp/R4PzXuJcSn6vOOArS1Ix0552Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IIuuRCC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc33j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit><latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">AAACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILBB8lnW3Hp8Xnn37rQ7l8g6+U+lyf+ggoIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBBpKKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY22U0yvHvMdp/R4PzXuJcSn6vOOArS1Ix0552Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IIuuRCC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc33j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit>
Likely much faster since V is likely much smaller than R, but this depends on data statistics; leave it to optimizer!
Q: How did DBA know to materialize a view for Nolan ratings?
Materialized Views Example
45
RatingID Stars RateDate UID MIDUID Name Age JoinDate MID Name Year Director
Example:
We are given this materialized view V over R and M
V ⇡RatingID,Stars,UID,MID(R ./ �Director=“Christopher Nolan”(M))<latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">AAACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJJR1H0PQgfrDx89Hh1rfXk6bP1jfbzzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TTDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZZ2O29+SiRFljpqEAueGcVTQqAJLUiisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqggd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGGl35WLGVgQ5H+m5UOI7z75Pgxe78eeP73pHBwu41hl22yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit>
Q: What if new ratings are inserted to R for Nolan’s movies?
Materialized View Maintenance
❖ RDBMS will automatically “trigger” updates to V ❖ Such updates are called Materialized View Maintenance ❖ 2 alternatives: Recompute whole view from scratch vs
Incremental View Maintenance (IVM)
46
Recomputing V from scratch may be an overkill Try to incrementally update parts that change
Incremental View Maintenance (IVM)
Basic Idea:
V 0 = Q(D0)<latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AAAB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmmmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC66N43yjldW19Y3N3FZ+e2d3b79wcNjUUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQQbTuuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2jj3nrCspmjuCP0OcPmRaO5Q==</latexit><latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AAAB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmmmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC66N43yjldW19Y3N3FZ+e2d3b79wcNjUUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQQbTuuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2jj3nrCspmjuCP0OcPmRaO5Q==</latexit><latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AAAB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmmmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC66N43yjldW19Y3N3FZ+e2d3b79wcNjUUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQQbTuuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2jj3nrCspmjuCP0OcPmRaO5Q==</latexit><latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AAAB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmmmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC66N43yjldW19Y3N3FZ+e2d3b79wcNjUUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQQbTuuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2jj3nrCspmjuCP0OcPmRaO5Q==</latexit>
V = Q(D)<latexit sha1_base64="MDDam1hJPkCdqHSi1aGPF+ZdvfA=">AAAB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa522Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UppJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gBB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuuJkM0fwR87nD9WkjoM=</latexit><latexit sha1_base64="MDDam1hJPkCdqHSi1aGPF+ZdvfA=">AAAB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa522Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UppJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gBB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuuJkM0fwR87nD9WkjoM=</latexit><latexit sha1_base64="MDDam1hJPkCdqHSi1aGPF+ZdvfA=">AAAB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa522Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UppJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gBB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuuJkM0fwR87nD9WkjoM=</latexit><latexit sha1_base64="MDDam1hJPkCdqHSi1aGPF+ZdvfA=">AAAB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa522Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UppJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gBB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuuJkM0fwR87nD9WkjoM=</latexit>
❖ D’ can be the outcome of inserts and/or deletes to D ❖ Q can be a unary query or involve multiple tables ❖ Computing V’ may require inserts and/or deletes to V;
realized as algebraic rewrite rules at LQP level ❖ Whether or not IVM of V is feasible and/or efficient depends
on form of Q, nature of updates to D, data statistics, etc. ❖ We will focus only on inserts to D triggering inserts to V
47
Incremental View Maintenance (IVM)
Unary IVM for insertions:
Newly inserted tuplesR0 = R [�R<latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit>
Select:
Project:
V �SelectCondition(R)<latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">AAACGHicbVDLSgMxFM34rPVVdekmWATd6IwIuix249JXq9ApJZPeqcFMMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+DDag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx88Nq7WRcR4lski2yQwJyRGrklJyRBuHkkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg==</latexit><latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">AAACGHicbVDLSgMxFM34rPVVdekmWATd6IwIuix249JXq9ApJZPeqcFMMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+DDag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx88Nq7WRcR4lski2yQwJyRGrklJyRBuHkkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg==</latexit><latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">AAACGHicbVDLSgMxFM34rPVVdekmWATd6IwIuix249JXq9ApJZPeqcFMMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+DDag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx88Nq7WRcR4lski2yQwJyRGrklJyRBuHkkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg==</latexit><latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">AAACGHicbVDLSgMxFM34rPVVdekmWATd6IwIuix249JXq9ApJZPeqcFMMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+DDag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx88Nq7WRcR4lski2yQwJyRGrklJyRBuHkkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg==</latexit>
V 0 = V [ �SelectCondition(�R)<latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">AAACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1yy96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSpp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNttGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit><latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">AAACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1yy96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSpp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNttGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit><latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">AAACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1yy96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSpp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNttGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit><latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">AAACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1yy96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSpp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNttGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit>
V ⇡ProjectionList(R)<latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">AAACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMMmTTTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nnhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEddAAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit><latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">AAACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMMmTTTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nnhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEddAAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit><latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">AAACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMMmTTTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nnhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEddAAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit><latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">AAACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMMmTTTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nnhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEddAAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit>
V 0 = V [ ⇡ProjectionList(�R)<latexit sha1_base64="grYid+FzWJ3Q7FIqbHmFF6psNZ8=">AAACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aww4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit><latexit sha1_base64="grYid+FzWJ3Q7FIqbHmFF6psNZ8=">AAACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aww4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit><latexit sha1_base64="grYid+FzWJ3Q7FIqbHmFF6psNZ8=">AAACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aww4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit><latexit sha1_base64="grYid+FzWJ3Q7FIqbHmFF6psNZ8=">AAACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aww4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit>
Select and Project can be composed and reordered as before
Can be just an append (union with “bag” semantics)
Requires full set union with V for deduplication
48
Incremental View Maintenance (IVM)
Unary IVM for insertions:
Newly inserted tuplesR0 = R [�R<latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AAAB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAllMj1ph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZppDK5FAooBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yyMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsuu4buzUuUqj6OADtAhOkEuOkcVdIuqqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit>
Group By Agg:
Feasibility of IVM Depends on Agg() function! Rewrite rules exist for SUM, COUNT, and MIN/MAX over bags AVG not possible in general; needs deeper system changes
V �AggList,Agg(Y )(R)<latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">AAACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPllcHvU9S/vuDYiiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IIpObIZiY0goqtfrRfV8vVWuuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA==</latexit><latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">AAACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPllcHvU9S/vuDYiiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IIpObIZiY0goqtfrRfV8vVWuuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA==</latexit><latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">AAACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPllcHvU9S/vuDYiiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IIpObIZiY0goqtfrRfV8vVWuuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA==</latexit><latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">AAACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPllcHvU9S/vuDYiiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IIpObIZiY0goqtfrRfV8vVWuuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA==</latexit>
V 0 = �AggList,SUM (Y )(V [ �AggList,SUM (Y )�R)<latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">AAACUnicjVLLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9ppVrlZyyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtVV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aaaDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeeGPYvkG/LT7ysds+k=</latexit><latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">AAACUnicjVLLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9ppVrlZyyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtVV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aaaDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeeGPYvkG/LT7ysds+k=</latexit><latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">AAACUnicjVLLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9ppVrlZyyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtVV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aaaDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeeGPYvkG/LT7ysds+k=</latexit><latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">AAACUnicjVLLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9ppVrlZyyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtVV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aaaDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeeGPYvkG/LT7ysds+k=</latexit>
V 0 = �AggList,SUM (Y )(V [ �AggList,COUNT(Y )�R)<latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">AAACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf771vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eyaa8YDlspU9yMwXIqEByhQ8n6mOahI8utodrrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aaPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzppNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqaggaH9h6oNwX968nPQe9/2Lf522Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit><latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">AAACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf771vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eyaa8YDlspU9yMwXIqEByhQ8n6mOahI8utodrrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aaPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzppNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqaggaH9h6oNwX968nPQe9/2Lf522Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit><latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">AAACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf771vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eyaa8YDlspU9yMwXIqEByhQ8n6mOahI8utodrrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aaPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzppNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqaggaH9h6oNwX968nPQe9/2Lf522Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit><latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">AAACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf771vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eyaa8YDlspU9yMwXIqEByhQ8n6mOahI8utodrrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aaPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzppNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqaggaH9h6oNwX968nPQe9/2Lf522Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit>
V 0 = �AggList,MIN (Y )(V [ �AggList,MIN (Y )�R)<latexit sha1_base64="qqwARVHKYintUVEhXD+XXp2gE2w=">AAACUnicjVLLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqsskpG+9sFwKUJeRYGSX8eag/Ilv/LvDrr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVVq0HWl7QqQ99WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH33FPuNW9/Sb80nxv0LJBvyE99APIXs8c=</latexit><latexit sha1_base64="qqwARVHKYintUVEhXD+XXp2gE2w=">AAACUnicjVLLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqsskpG+9sFwKUJeRYGSX8eag/Ilv/LvDrr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVVq0HWl7QqQ99WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH33FPuNW9/Sb80nxv0LJBvyE99APIXs8c=</latexit><latexit sha1_base64="qqwARVHKYintUVEhXD+XXp2gE2w=">AAACUnicjVLLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqsskpG+9sFwKUJeRYGSX8eag/Ilv/LvDrr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVVq0HWl7QqQ99WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH33FPuNW9/Sb80nxv0LJBvyE99APIXs8c=</latexit><latexit sha1_base64="qqwARVHKYintUVEhXD+XXp2gE2w=">AAACUnicjVLLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqsskpG+9sFwKUJeRYGSX8eag/Ilv/LvDrr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVVq0HWl7QqQ99WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH33FPuNW9/Sb80nxv0LJBvyE99APIXs8c=</latexit>
49
Incremental View Maintenance (IVM)
Join IVM for insertions:
V A ./ B<latexit sha1_base64="pw669SiEEFo9OAlJjiH5z7yop+s=">AAACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cvv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkkhnT9NwY22OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrkllRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA==</latexit><latexit sha1_base64="pw669SiEEFo9OAlJjiH5z7yop+s=">AAACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cvv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkkhnT9NwY22OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrkllRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA==</latexit><latexit sha1_base64="pw669SiEEFo9OAlJjiH5z7yop+s=">AAACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cvv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkkhnT9NwY22OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrkllRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA==</latexit><latexit sha1_base64="pw669SiEEFo9OAlJjiH5z7yop+s=">AAACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cvv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkkhnT9NwY22OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrkllRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA==</latexit>
A0 = A [�A<latexit sha1_base64="nLK99WSiKQwynE/Gnx6DiqAU79Q=">AAAB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDpph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJJcRRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJUU0Gmi8KUIx2jcRSoyyQlmg8NYCKZuRWRPpaYaBNY0YTgzn55HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit><latexit sha1_base64="nLK99WSiKQwynE/Gnx6DiqAU79Q=">AAAB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDpph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJJcRRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJUU0Gmi8KUIx2jcRSoyyQlmg8NYCKZuRWRPpaYaBNY0YTgzn55HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit><latexit sha1_base64="nLK99WSiKQwynE/Gnx6DiqAU79Q=">AAAB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDpph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJJcRRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJUU0Gmi8KUIx2jcRSoyyQlmg8NYCKZuRWRPpaYaBNY0YTgzn55HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit><latexit sha1_base64="nLK99WSiKQwynE/Gnx6DiqAU79Q=">AAAB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDpph04mYWYi1FB8FTcuFHHre7jzbZy2WWjrDwMf/zmHc+YPEs6Udpxva2FxaXlltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJJcRRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJUU0Gmi8KUIx2jcRSoyyQlmg8NYCKZuRWRPpaYaBNY0YTgzn55HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit>
B0 = B [�B<latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AAAB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2MM+TRPs3zABBHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqiddt1EggyooBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit><latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AAAB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2MM+TRPs3zABBHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqiddt1EggyooBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit><latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AAAB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2MM+TRPs3zABBHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqiddt1EggyooBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit><latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AAAB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2MM+TRPs3zABBHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqiddt1EggyooBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit>
Alternatively, we can just append the output of the following query to V (union below is just append too):
IVM for complex queries compose such op-level rewrites
V 0 = V [ (�A ./ B0) [ (A0 ./ �B)<latexit sha1_base64="jeGTXlJ411dIE56XxZzP2PaRVE8=">AAACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLyympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFyybRuOHaEzSFTKLiEUdqNNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW144Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ==</latexit><latexit sha1_base64="jeGTXlJ411dIE56XxZzP2PaRVE8=">AAACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLyympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFyybRuOHaEzSFTKLiEUdqNNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW144Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ==</latexit><latexit sha1_base64="jeGTXlJ411dIE56XxZzP2PaRVE8=">AAACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLyympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFyybRuOHaEzSFTKLiEUdqNNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW144Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ==</latexit><latexit sha1_base64="jeGTXlJ411dIE56XxZzP2PaRVE8=">AAACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLyympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFyybRuOHaEzSFTKLiEUdqNNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW144Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ==</latexit>
(�A ./ B0) [ (A0 ./ �B)� (�A ./ �B)<latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">AAACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSSIbMPZnqVsPhXXvwNb3rxoIhX/8BJXESNBQNFVTU9XX4shUbbfrSmpmdm5+YXFnNLyyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7YY9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV//9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+veerberPev6JSVzWySX7A+PgEZ46fc</latexit><latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">AAACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSSIbMPZnqVsPhXXvwNb3rxoIhX/8BJXESNBQNFVTU9XX4shUbbfrSmpmdm5+YXFnNLyyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7YY9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV//9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+veerberPev6JSVzWySX7A+PgEZ46fc</latexit><latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">AAACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSSIbMPZnqVsPhXXvwNb3rxoIhX/8BJXESNBQNFVTU9XX4shUbbfrSmpmdm5+YXFnNLyyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7YY9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV//9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+veerberPev6JSVzWySX7A+PgEZ46fc</latexit><latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">AAACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSSIbMPZnqVsPhXXvwNb3rxoIhX/8BJXESNBQNFVTU9XX4shUbbfrSmpmdm5+YXFnNLyyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7YY9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV//9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+veerberPev6JSVzWySX7A+PgEZ46fc</latexit>
Assume no duplicate inserts
Recommended