第1个回答 2016-08-03
mysql in 只要对in的字段建立的索引就会使用索引,但in里的参数不要太多,太多容易产生问题本回答被提问者采纳
第2个回答 推荐于2018-12-26
通常情况:
在有索引的情况且查询条件使用到索引列的话,会使用索引
具体可以使用
explain($sql statement) 来分析
特殊情况
如select 语句使用了ignore index的话,则不会使用本回答被网友采纳
第3个回答 2020-11-18
根据数据库的功能,可以在数据库设计器中创建索引:唯一索引、主键索引和聚集索引。
唯一索引:表中的任意两行的索引值都不相等
主键索引和唯一索引的区别:
主键一定会创建一个唯一索引,但是有唯一索引的列不一定是主键;
主键不允许为空值,唯一索引列允许空值;
一个表只能有一个主键,但是可以有多个唯一索引;
主键可以被其他表引用为外键,唯一索引列不可以;
主键是一种约束,而唯一索引是一种索引,是表的冗余数据结构,两者有本质的差别
聚集索引指示表中数据行按索引键的排序次序存储,聚集索引对查找行很有效。只有当表包含聚集索引时,表内的数据行才按索引列的值在磁盘上进行物理上排序和存储。每一个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。
优点:
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
第4个回答 2020-11-18
根据数据库的功能,可以在数据库设计器中创建索引:唯一索引、主键索引和聚集索引。
唯一索引:表中的任意两行的索引值都不相等
主键索引和唯一索引的区别:
主键一定会创建一个唯一索引,但是有唯一索引的列不一定是主键;
主键不允许为空值,唯一索引列允许空值;
一个表只能有一个主键,但是可以有多个唯一索引;
主键可以被其他表引用为外键,唯一索引列不可以;
主键是一种约束,而唯一索引是一种索引,是表的冗余数据结构,两者有本质的差别
聚集索引指示表中数据行按索引键的排序次序存储,聚集索引对查找行很有效。只有当表包含聚集索引时,表内的数据行才按索引列的值在磁盘上进行物理上排序和存储。每一个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。
优点:
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。