During troubleshooting an issue, it is very hard to identify when and who created the DB index on the instance. If ServiceNow create the index, there will be a valid HI change associated with this. But when customer create the index, it is hard to backtrack.
mysql/mariadb doesn't have any easy way to give us this information and it is not there in information_schema as well. There are multiple forums discussing this query on the internet from a DB level.
From an instance perspective, we have an easy way to identify this from one of the tables which will help us with troubleshooting.
PS: if ServiceNow create an index( via Change management) from the DB backend, this might not be recorded here.
Go to the following table on instance.
Search with the table name and the "Alter Type" as "Create Index(es)" as per the screenshot. If multiple indexes were created together, there will be only 1 entry with all the fields.
If it is a UNIQUE index, u: prefix (marked in the screenshot) will be there for the field.
Updated* fields will give information on when and who created this.
If this index creation was part of an update-set or a installed app, it will be with the name "system" and you can backtrack the created timestamp to Commit timestamp of an update-set to figure out how this came over.
Screenshot is attached.