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.

Source Distribution

user-query-optimizer-0.1.6.tar.gz (12.8 kB view details)

Uploaded Source

File details

Details for the file user-query-optimizer-0.1.6.tar.gz.

File metadata

  • Download URL: user-query-optimizer-0.1.6.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/2.7

File hashes

Hashes for user-query-optimizer-0.1.6.tar.gz
Algorithm Hash digest
SHA256 6fd7f53a9aebaf2004b3955526aa6a39cb07e278e3ba8ba5f45fd06ad984d637
MD5 82dae43e9fc9879303279683b59ed97d
BLAKE2b-256 cb0461a5c96599c776b4725af4681583429f1640e0bbb2b000bbb917f6a0083c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page