性别字段建立索引问题

python3 同时被 3 个专栏收录
8 篇文章 0 订阅
3 篇文章 0 订阅
2 篇文章 0 订阅

性别字段能不能建立索引

之前面试被问到一个问题

什么字段适合建索引,什么字段不适合建索引。

性别字段可以建索引吗?

我回答得不是很好。

性别字段这种重复性很强的字段,不要建立索引。为什么不能呢?

下面建立表测试下。如:我建了个tb_test表,往里面插入了七百多万数据,先给性别建立索引,查询开启 sql运行时间记录。

创建名为tb_index_test  的索引

alter table tb_test add index tb_index_test(genenre)
# 开启时间记录
set profiling = 1;

查询genenre=1 的数据;

select * from tb_test where genenre=1;

删除索引

# 查看tb_test表的索引
show index from tb_test;
# 删除索引
drop index tb_test_index on tb_test;

在次查询genenre=1 的数据

select * from tb_test where genenre=1;

查看以上几个命令的执行时间

show profiles;

结果如下

添加索引后查询 比原来为添加索引还慢

添加索引 的查询耗时为 64.5秒

没有索引的查询耗时为 7.8秒

结论是 重复性较强的字段,不适合添加索引

mark222

  • 1
    点赞
  • 3
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值