Mysql 如何在SQL中使用索引

Mysql 如何在SQL中使用索引,mysql,sql,database,sqlite,Mysql,Sql,Database,Sqlite,我是SQL新手。如果我在一列上创建一个索引,我知道这将使搜索速度更快。但是我以后如何使用索引呢?例如,创建索引ID\u学生索引(ID);是否有SQL命令显示如何使用此索引?如果我也从ID=3的学生中选择*,有很大的区别吗 决定要使用什么索引,以及它们应该在单列还是多列上,这是一项需要学习的任务。请参见: 但关于索引,这里有一件非常酷的事情: MySQL服务器软件会自动找出如何应用它们来满足SQL查询。因此,我们可以在数据库的生命周期内添加或删除索引,而不需要对查询进行任何更改。新索引有时可以极大

我是SQL新手。如果我在一列上创建一个索引,我知道这将使搜索速度更快。但是我以后如何使用索引呢?例如,创建索引ID\u学生索引(ID);是否有SQL命令显示如何使用此索引?如果我也从ID=3的学生中选择*,有很大的区别吗

决定要使用什么索引,以及它们应该在单列还是多列上,这是一项需要学习的任务。请参见:

但关于索引,这里有一件非常酷的事情:

MySQL服务器软件会自动找出如何应用它们来满足SQL查询。因此,我们可以在数据库的生命周期内添加或删除索引,而不需要对查询进行任何更改。新索引有时可以极大地加快查询速度,有时可以采取O(n**2)或O(n)操作并将其转换为O(logn)复杂度


这一点很重要,因为成功应用程序的数据库生命周期是以几十年而不是几年来衡量的。随着数据库使用量的增加,新的索引会使其不断增长

您不直接使用它,数据库会自动使用它来优化查询。
EXPLAIN
语句将告诉您查询正在使用哪些索引。数据越大,性能提高的差异就越大。当您
分组依据
加入..
排序依据
时,索引用于检索(如示例中所示)。正确的索引是一个很好的实践。对于主唯一标识符,
主键(只能有一个)可能更合适,这也是一种特殊的索引。您必须权衡表上的“插入量”与“查询量”。索引将对插入性能产生负面影响,对一般查询性能产生正面影响。在你完成索引之前,先看看你的需求,任何名为
id
的列都可能是主键,在这种情况下,它已经被索引了,非常感谢你