Summary of schema I'm considering.  Comments welcome.

When it gets downt to the detail, it may make sense to combine
or split some of these.  For example, runtime_options should
probably not have a column for each currently known option,
but a child table which maps to all non-default option values.

submitter
  Identifies who submitted test results.
 Name, optional info such as email address and organization

runtime_environment
  Identifies the overall test environment.
  OS with distribution & version, CPU number, type speed, RAM,
    background load, static configuration, etc.
  This provides context for a series of tests, to see how the numbers
    look in a given environment

dataset_characteristics
  Identifies data metrics which may affect costing accuracy
  Table counts, row counts, column counts, disk space used,
    level of fragmentation.
  Maybe some of the "standard" tests will share common dataset
    characteristics across multiple environments.

cache_state
  Identifies the level of initial caching for a test, and the degree to
which
    the referenced data can be cached during execution

runtime_options
  Identifies the runtime choices in effect for a query run.
  The state of EXPLAIN, ANALYZE, enable_xxx, and dynamic configuration
    settings, such as random_page_cost.

query
  Identifies a test query, possibly run by many people in many
environments
    against various datasets with different cache states and runtime
options

test_result_summary
  Ties a query to details about a run, with a summary of results.
  Run time from the client perspective, rows returned.

test_result_step_detail
  Shows EXPLAIN ANALYZE information (if any) for each step.





---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to