查看版本
- MySQL
select version();
status;
- Oracle
select * from v$version;
索引相关
- ALTER TABLE 创建索引
ALTER TABLE table_name ADD INDEX [index_name] [index_type] (index_col_name,...)
- CREATE INDEX 创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[USING index_type]
ON tbl_name (index_col_name,...)
- 查看索引
show index from table_name
- 查看查询是否命中索引 EXPLAIN SELECT 语句
expalin select * from content where contentName like '你*'
如上图中查询结果里的 key 不为NULL,则查询使用到了索引 - type ,显示sql执行的类型,从最好到最差的类型为 system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL。 - id , 多张表连表查询时,id越大,表示该表越先进行查询;id相等时,按顺序查询。
-
索引类型
-
聚集索引:聚集索引的索引顺序与表中数据的物理顺序一致,所以一张表里只有一个聚集索引。
-
非聚集索引:非聚集索引的逻辑顺序和表中数据的物理顺序无关。
在MySQL InnoDB默认将表中的 PRIMARY KEY 用作聚簇索引。 如果表中没有PRIMARY KEY,MySQL InnoDB将找到UNIQUE所有键列所在的第一个NOT NULL索引,并将其用作聚簇索引。 如果表没有PRIMARY KEY或没有合适的 UNIQUE索引,则在InnoDB 内部生成一个隐藏的聚簇索引GEN_CLUST_INDEX,该索引在包含行ID值的合成列上命名 。行按照InnoDB分配给此类表中的行的ID排序 。行ID是一个6字节的字段,在插入新行时会单调增加。因此,由行ID排序的行在物理上处于插入顺序。
-