Files
percona-toolkit/src/go/pt-mongodb-index-check
Viktor Szépe 2bd40d8c39 Remove trailing spaces (#665)
* Remove trailing spaces

* PR-665 -  Remove trailing spaces

- Updated not stable test t/pt-online-schema-change/preserve_triggers.t
- Updated utilities in bin directory

* PR-665 -  Remove trailing spaces

- Fixed typos

* PR-665 -  Remove trailing spaces

- Fixed typos

---------

Co-authored-by: Sveta Smirnova <sveta.smirnova@percona.com>
2023-09-06 01:15:12 +03:00
..
2022-07-11 10:29:37 -03:00
2023-09-06 01:15:12 +03:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. _pt-mongodb-index-check:

=================================
:program:`pt-mongodb-index-check`
=================================

Performs checks on MongoDB indexes.

Checks available
================

Duplicated indexes
~~~~~~~~~~~~~~~~~~

Check for indexes that are the prefix of other indexes. For example if we have these 2 indexes

.. code-block:: javascript

   db.getSiblingDB("testdb").test_col.createIndex({"f1": 1, "f2": -1, "f3": 1, "f4": 1}, {"name": "idx_01"});
   db.getSiblingDB("testdb").test_col.createIndex({"f1": 1, "f2": -1, "f3": 1}, {"name": "idx_02"});


The index ``idx_02`` is the prefix of ``idx_01`` because it has the same
keys in the same order so, ``idx_02`` can be dropped.

Unused indexes.
~~~~~~~~~~~~~~~

This check gets the ``$indexstats`` for all indexes and reports those
having ``accesses.ops`` = 0.

Usage
=====

Run the program as ``pt-mongodb-index-check <command> [flags]``

Available commands
~~~~~~~~~~~~~~~~~~

================ ==================================
Command          Description
================ ==================================
check-duplicated Run checks for duplicated indexes.
check-unused     Run check for unused indexes.
check-all        Run all checks
================ ==================================

Available flags
~~~~~~~~~~~~~~~

+----------------------------+----------------------------------------+
| Flag                       | Description                            |
+============================+========================================+
| all-databases             | Check in all databases excluding       |
|                            | system dbs.                            |
+----------------------------+----------------------------------------+
| databases=DATABASES,…     | Comma separated list of databases to   |
|                            | check.                                 |
+----------------------------+----------------------------------------+
| all-collections           | Check in all collections in the        |
|                            | selected databases.                    |
+----------------------------+----------------------------------------+
| collections=COLLECTIONS,… | Comma separated list of collections to |
|                            | check.                                 |
+----------------------------+----------------------------------------+
| mongodb.uri=              | Connection URI                         |
+----------------------------+----------------------------------------+
| json                      | Show output as JSON                    |
+----------------------------+----------------------------------------+
| version                   | Show version information               |
+----------------------------+----------------------------------------+