Sql 您使用哪个工具来确定查询是否使用索引?

Sql 您使用哪个工具来确定查询是否使用索引?,sql,Sql,您使用哪种工具来确定查询是否使用符合ANSI标准的数据库中的索引?正如其他人所提到的,您没有说明您使用的是哪种DBMS,因此我已经向您介绍了在MSSQL 2014上运行此查询的相关知识 您可以使用索引监视功能检查应用程序是否使用索引。如果为索引设置了“监视使用情况”属性,则可以查询v$object\u使用情况以查看是否正在使用该索引。以下是一个例子: SQL> CREATE TABLE t1 (c1 NUMBER); Table created. SQL> CREATE

您使用哪种工具来确定查询是否使用符合ANSI标准的数据库中的索引?

正如其他人所提到的,您没有说明您使用的是哪种DBMS,因此我已经向您介绍了在MSSQL 2014上运行此查询的相关知识

您可以使用索引监视功能检查应用程序是否使用索引。如果为索引设置了“监视使用情况”属性,则可以查询v$object\u使用情况以查看是否正在使用该索引。以下是一个例子:

 SQL> CREATE TABLE t1 (c1 NUMBER);
    Table created.


SQL> CREATE INDEX t1_idx ON t1(c1);
Index created.

SQL> ALTER INDEX t1_idx MONITORING USAGE;
Index altered.

SQL> SELECT table_name, index_name, monitoring, used FROM v$object_usage;
TABLE_NAME                     INDEX_NAME                     MON USE
------------------------------ ------------------------------ --- ---
T1                             T1_IDX                         YES NO

SQL> SELECT * FROM t1 WHERE c1 = 1;
no rows selected

SQL> SELECT table_name, index_name, monitoring, used FROM v$object_usage;
TABLE_NAME                     INDEX_NAME                     MON USE
------------------------------ ------------------------------ --- ---
T1                             T1_IDX                         YES YES


To reset the values in the v$object_usage view, disable index monitoring and re-enable it: 

ALTER INDEX indexname NOMONITORING USAGE;
ALTER INDEX indexname MONITORING   USAGE;

执行计划。explain plan for Oracle或explain for postgres您必须指定使用的dbms,因为不同的产品有不同的方法来确定索引的使用。这是针对哪个dbms的?