加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中如何实行联合索引优化

发布时间:2023-07-28 13:27:06 所属栏目:MySql教程 来源:
导读:今天就跟大家聊聊有关mysql中如何进行联合索引优化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 explain select Fid from t_cyou_view_records wher

今天就跟大家聊聊有关mysql中如何进行联合索引优化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

 explain select Fid from t_cyou_view_records where Fanchormasterid = 20237 and Froleid = 15081 and Fouttime is null order by Fentertime desc limit 1;

| id | select_type | table       | type | possible_keys | key | key_len | ref | rows  | Extra           |

| 1 | SIMPLE   | t_cyou_view_records | ALL | NULL     | NULL | NULL  | NULL | 1709800 | Using where; Using filesort |

看了where条件中两个字段的基数,建立联合索引会有指数级提升

show index from t_cyou_view_records

  -> ;

| Table       | Non_unique | Key_name | Seq_in_index | Column_name  | Collation | Cardinality | Sub_part | Packed | Null | Index_type | C

| t_cyou_view_records |     0 | PRIMARY |      1 | Fid      | A    |  1710010 |  NULL | NULL |   | BTREE   | 

| t_cyou_view_records |     1 | idx_tcvr |      1 | Fanchormasterid | A    |    132 |  NULL | NULL | YES | BTREE   | 

| t_cyou_view_records |     1 | idx_tcvrf |      1 | Froleid    | A    |   58965 |  NULL | NULL | YES | BTREE   | 

alter table t_cyou_view_records add index idx_tcvrf(Froleid,Fanchormasterid);

Query OK, 0 rows affected (7.79 sec)

Records: 0 Duplicates: 0 Warnings: 0

explain select Fid from t_cyou_view_records where Fanchormasterid = 20237 and Froleid = 15081 and Fouttime is null order by Fentertime desc limit 1;

| id | select_type | table       | type | possible_keys | key   | key_len | ref    | rows | Extra           |

| 1 | SIMPLE   | t_cyou_view_records | ref | idx_tcvrf  | idx_tcvrf | 18   | const,const |  3 | Using where; Using filesort |

扫描行数降低为3

看完上述内容,你们对mysql中如何进行联合索引优化有进一步的了解吗?

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章