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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fd7f53a9aebaf2004b3955526aa6a39cb07e278e3ba8ba5f45fd06ad984d637 |
|
MD5 | 82dae43e9fc9879303279683b59ed97d |
|
BLAKE2b-256 | cb0461a5c96599c776b4725af4681583429f1640e0bbb2b000bbb917f6a0083c |