The selectivity of selection operators is derived by assuming that
attributes have a uniform distribution over their range (which is available in
the catalog). Relaxing this assumption by, for example, storing histograms or
time-dependent functions per-attribute remains an area of future work. The
cost of an operator (predicate or sample) can be determined by consulting the
metadata, as described in the previous section.
We also introduce a partial order on S, where ??i must precede pj if pj
references the attribute sampled by ??i. The combination of sampling operators
and the dependency of predicates on samples determines the costs of sampling
operators and the sharing of sampling operators across predicates. The partial
order induced on S forms a graph with edges from sampling operators to
predicates. This is a simple series-parallel graph. An optimal ordering of jobs
with series-parallel constraints is a topic treated in the Operational Research
literature that inspired earlier optimization work.
The basic idea is to add them to S with appropriate selectivities, costs,
and ordering constraints. As an example of this process, consider the query:
SELECT accel, mag
FROM sensors
WHERE accel > c1 AND mag > c2
SAMPLE INTERVAL 1s
The order of magnitude di?®erence in per-sample costs for the accelerometer
and magnetometer suggests that the power costs of plans with di?®erent
orders of sampling and selection will vary substantially.
Pages:
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514