1、二级索引
mysql中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes)。
以InnoDB来说,每个InnoDB表具有一个特殊的索引称为聚集索引。如果您的表上定义有主键,该主键索引是聚集索引。如果你不定义为您的表的主键时,MySQL取第一个唯一索引(unique)而且只含非空列(NOT NULL)作为主键,InnoDB使用它作为聚集索引。如果没有这样的列,InnoDB就自己产生一个这样的ID值,它有六个字节,而且是隐藏的,使其作为聚簇索引。
2、mysql显示行号
使用mysql查询显示行号,没有像oracle这么方便。
不过也可以通过设定变量显示行号,例如:
SELECT @rowno:=@rowno+1 as rowno,r.* from t_article r,(select @rowno:=0) t
用@rowno这自定义变量显示行号。
简洁而实用,
如果有按照某个字段排序,行号会不规则排列,换成先排序,外层加上行号会更加合适。
SELECT @ROWNO := @ROWNO + 1 AS ROWNO, T.* FROM (SELECT T.ARTICLE_TITLE, T1. NAME, T.ARTICLE_CREATEDATE FROM T_ARTICLE T LEFT JOIN T_ARTICLE_TYPE T1 ON T.TYPEID = T1. NAME WHERE T.ARTICLE_TITLE LIKE '%博士%' ORDER BY ARTICLE_CREATEDATE DESC) T, (SELECT @ROWNO := 0) T3 ORDER BY ROWNO