Analyses your database queries and schema and suggests indices and schema improvements
MIT License
Published by macbre about 1 year ago
Full Changelog: https://github.com/macbre/index-digest/compare/v1.5.1...v1.6.0
Published by macbre about 2 years ago
The Dockerfile
is now Alpine-based resulting in a smaller container image. And the image is now running the latest Python 3.10.
Full Changelog: https://github.com/macbre/index-digest/compare/v1.5.0...v1.5.1
Published by macbre over 3 years ago
This release brings one bug fix (#210) and introduces GitHub's action allowing you to use index-digest
to check for database performance regressions as part of your CI pipeline.
bug
- queries_not_using_index - ignore reports with "No matching min/max row" / "Select tables optimized away"dependencies
- Bump twine from 3.2.0 to 3.3.0 (by @dependabot[bot])internals
- Use Docker layers cache to speed up CI buildsdocker
- Try to use Docker's BuildKitdependencies
- Update databases used in integration testspr
- CI | With Docker Build there's not need to pull an image firstpr
- docker build - use --cache-frominternals
- CI | run database on a custom portPublished by macbre almost 4 years ago
dependencies
- Bump coverage from 5.2 to 5.2.1 (by @dependabot[bot])dependencies
- Bump pytest from 5.4.3 to 6.0.0 (by @dependabot[bot])dependencies
- Bump pytest from 6.0.0 to 6.0.1 (by @dependabot[bot])docker
- Dockerfile: use python:3.8-slim-busterdependencies
- Bump sql_metadata from 1.7.1 to 1.8.0pr
- Delete wait_for_mysql.shdependencies
- Bump coverage from 5.2.1 to 5.3 (by @dependabot[bot])dependencies
- Bump pytest from 6.0.1 to 6.0.2 (by @dependabot[bot])dependencies
- Bump pytest from 6.0.2 to 6.1.1 (by @dependabot[bot])dependencies
- Bump sql-metadata from 1.8.0 to 1.9.1 (by @dependabot[bot])pr
- Use Python 3.9dependencies
- Bump pytest from 6.1.1 to 6.1.2 (by @dependabot[bot])internals
- CI: cache pip dependenciesdependencies
- Bump mysqlclient from 2.0.1 to 2.0.2 (by @dependabot[bot])dependencies
- Bump pytest from 6.1.2 to 6.2.1 (by @dependabot[bot])dependencies
- Bump coverage from 5.3 to 5.3.1 (by @dependabot[bot])enhancement
- Improve low cardinality indices detectionpr
- Decrease cardinality to stabilize testsdependencies
- Bump sql-metadata from 1.9.1 to 1.10.0 (by @dependabot[bot])Published by macbre over 4 years ago
Tests are now executed using GitHub Actions instead of TravisCI.
All dependencies are now up to date . sql_metadata
library (that parses SQL for us) is updated as well.
All code changes are now tested against MariaDB 10.5 and the latest Percona Server.
non_utf_columns
| handle blobs and other UTF character setsnon_utf_columns
| add table schema in reported context #145queries_not_using_index
| handle "No tables used"MySQL 5.5 support ended in December 2015
MySQL 5.6 - February 2018
MariaDB 10.0 - March 201
Python 2.7 will be gone by the end of 2019
data-too-old
: check columns with non-timestamp types, but with "time" in their namesdata_too_old
- handle incorrect or missing timestamp valuesforum_creation_temp
as temporary tableget_boundary_times
| handle tables with dashesselect_star
| queries with comments should be handled as wellhigh_offset_selects
| insert queries should be skipped by this check--checks
/ --skip-checks
option is provided--tables
/ --skip-tables
option is providedget_table_schema
: cast to strget_used_tables_from_queries
handling of table aliasesDatabase error #1146 - Cannot get columns list for table
@memoize
check_data_not_updated_recently
/ check_data_too_old
- cast timestamps to strextract get_reports()
function and improve syslog reporter tests coveragedata_too_old
/ data_not_updated_recently
- report timestamp column name and table sizesqlcheck
SchemaCrawler
appname
fieldadd_linter
helper script*
HAVING
clauseempty_tables
: use EXPLAIN SELECT count(*)
to estimate rows countget_query_tables
: improve SQL queries parsingsql_metadata
| use a new Python package extracted from index-digestsql_metadata==1.0.2
not_used_tables
: report rows count, table size and its schemaINSERT IGNORE
queriessyslog
results reporter