status字段0或者1,判断是否审核通过,0只是最新几行会出现,后面几十万行,都是1.请问是否需要创建索引?
10条回答 默认 最新
- a718089112 2018-06-01 06:48关注
试验了一下:参考下,表结构如下如,sql总共1010000条数据。前99条status=0 后面都为1:
status建立索引前: [SQL]select count(*) from sys_user ; 受影响的行: 0 时间: 0.166s [SQL] SELECT * from sys_user where `status` = 0 ; 受影响的行: 0 时间: 0.235s [SQL] SELECT * from sys_user where `status` = 1 ; 受影响的行: 0 时间: 0.514s [SQL]select count(*) from sys_user ; 受影响的行: 0 时间: 0.165s [SQL] SELECT * from sys_user where `status` = 0 ; 受影响的行: 0 时间: 0.232s [SQL] SELECT * from sys_user where `status` = 1 ; 受影响的行: 0 时间: 0.515s [SQL]select count(*) from sys_user ; 受影响的行: 0 时间: 0.165s [SQL] SELECT * from sys_user where `status` = 0 ; 受影响的行: 0 时间: 0.232s [SQL] SELECT * from sys_user where `status` = 1 ; 受影响的行: 0 时间: 0.512s status建立索引后: [SQL]select count(*) from sys_user ; 受影响的行: 0 时间: 0.148s [SQL] SELECT * from sys_user where `status` = 0 ; 受影响的行: 0 时间: 0.001s [SQL] SELECT * from sys_user where `status` = 1 ; 受影响的行: 0 时间: 1.098s [SQL]select count(*) from sys_user ; 受影响的行: 0 时间: 0.147s [SQL] SELECT * from sys_user where `status` = 0 ; 受影响的行: 0 时间: 0.001s [SQL] SELECT * from sys_user where `status` = 1 ; 受影响的行: 0 时间: 1.098s [SQL]select count(*) from sys_user ; 受影响的行: 0 时间: 0.147s [SQL] SELECT * from sys_user where `status` = 0 ; 受影响的行: 0 时间: 0.001s [SQL] SELECT * from sys_user where `status` = 1 ; 受影响的行: 0 时间: 1.137s
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘