我很难准确理解创建索引时会发生什么。如果我在(col1,col2)上创建一个索引。是否会创建一个只包含col1和col2的新表来运行我的查询?或者我是否指定在查询中使用索引,然后对于该查询,只有我的表现在被缩减为(col1,col2)?谢谢
dxpyg8gm1#
在表上创建索引时,它不会在内部创建任何新表,而只是创建索引。这个索引在物理上是独立的,并且具有像树(通常是b+树)一样组织的数据,这有助于更快地查找,并加快具有where子句的查询,where子句具有创建索引的列名。如果不在表上创建索引,则该表上的查询可能必须进行全表扫描才能找到记录。索引可以是唯一的,也可以是非唯一的。
1条答案
按热度按时间dxpyg8gm1#
在表上创建索引时,它不会在内部创建任何新表,而只是创建索引。这个索引在物理上是独立的,并且具有像树(通常是b+树)一样组织的数据,这有助于更快地查找,并加快具有where子句的查询,where子句具有创建索引的列名。如果不在表上创建索引,则该表上的查询可能必须进行全表扫描才能找到记录。索引可以是唯一的,也可以是非唯一的。