不那么常用的SQL积累记录

查看版本

  • MySQL
select version();
status;

select version()

  • 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 '你*'

index
如上图中查询结果里的 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排序的行在物理上处于插入顺序。

转载于:https://my.oschina.net/u/3917923/blog/2874430

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值