Skip to main content

SQL query optimization hints

Project description

## Introduction This API will help you optimize your sql queries for better performance.

## How to use Create an optimizer object specific to a single (database, schema) pair e.g. optimizer = get_optimizer(“presto”, schema)

Get optimization hints using optimize_query(query) e.g. presto_op.optimize_query(query)

Initial Optimization Checks
  • Using approximate algorithms (approx_distinct() instead of COUNT(DISTINCT …))
  • Selecting the columns the user wants explicitly, rather than using (SELECT *)
  • Filtering on partitioned columns
  • Try to extract nested subqueries using a WITH clause.
  • Suggest filtering on most effective columns, by parquet-file ordering
  • Eliminate filtering overhead for partitioned columns
Other Stuff
  • Replace UNION with UNION ALL if duplicates do not need to be removed
  • Aggregate a series of LIKE clauses into one regexp_like expression
  • Push down a complex join condition into a sub query
  • Specify GROUP BY targets with numbers for expressions

### Testing To run unit tests, run py.test (or py.test -s to see stdout) in the tests directory.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for user-query-optimizer, version 0.1.6
Filename, size File type Python version Upload date Hashes
Filename, size user-query-optimizer-0.1.6.tar.gz (12.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page