mysql索引中的命令目的是什么

时间:2016-01-28 09:18:41

标签: mysql

我有桌面人员,因为我想在联系电话号码上添加索引字段联系号码。 在mysql中索引某些字段时的排序目的是什么。

INDEX contact_numbercontact_number ASC))

2 个答案:

答案 0 :(得分:2)

到目前为止,索引中的ASC和DESC被忽略了:

  

index_col_name规范可以以ASC或DESC结尾。这些   允许使用关键字以用于指定升序的未来扩展   或降序索引值存储。目前,他们被解析但是   忽略;索引值始终按升序存储。

来源:http://dev.mysql.com/doc/refman/5.7/en/create-index.html

我想这个想法是,如果你经常在ORDER BY中使用一个列并且总是使用相同的方向,你可以相应地编写索引,以便加速典型的查询:

create index idx_logdate on logtable (logdate desc);

典型查询:

select *
from logtable
where logdate > date_sub(now(), interval 1 month)
order by logdate desc;

如上所述,索引中的DESC现在没有效果,但可能会在将来的版本中生效。

答案 1 :(得分:0)

现在(mysql 5.7)MySQL忽略了ASC / DESC。

http://dev.mysql.com/doc/refman/5.7/en/create-index.html

  

index_col_name规范可以以ASC或DESC结尾。这些关键字允许用于将来的扩展,以指定升序或降序索引值存储。目前,他们被解析但被忽略;索引值始终按升序存储。

如果某天实施它可能对复合索引有用: http://explainextended.com/2009/04/27/descending-indexes/