声明在前面

总结就是 不能单纯说 走和不走,需要看数据库版本,数据量等 ,希望不要引起大家的误会,也不要被标题党误导了。

1 数据库版本:

2 建表语句

CREATE TABLE s1 (

id INT NOT NULL AUTO_INCREMENT,

key1 VARCHAR(200),

key2 VARCHAR(200),

key3 VARCHAR(200),

key_part1 VARCHAR(200),

key_part2 VARCHAR(200),

key_part3 VARCHAR(200),

common_field VARCHAR(200),

PRIMARY KEY (id)

) ENGINE=INNODB CHARSET=utf8;

3 建索引语句

CREATE INDEX isz_key1 ON s1(key1);

CREATE INDEX isz_key2 ON s1(key2);

CREATE INDEX isz_key3 ON s1(key3);

CREATE INDEX idx_key_part ON s1 (key_part1, key_part2, key_part3);

4 铺底数据

DELIMITER $$

CREATE PROCEDURE pre ()

BEGIN

DECLARE i INT;

SET i= 0;

WHILE

i< 9000DO

INSERT INTO s1 (

key1,

key2,

key3,

key_part1,

key_part2,

key_part3,

common_field

)

VALUES

('a','注意应收热热账款状态为有效状态下,资源编号与应热热付流水号一一对应,(已结佣、已热热、已失效3种情况为无效热热,其他均为有效状态)','cc','a应收账款状态为a','cc','注意应erect账款状态为有效状态下,资源编号与应付流水号一一对应,(已结佣、已热热无效、已失效3种情况为热热状态,其他均为有效状态)','ddff');

SET i= i + 1;

END WHILE;

END $$

CALL pre ();

DROP PROCEDURE pre;

select COUNT(1)FROM s1;

IS NULL ,IS NOT NUll 是否走索引

EXPLAIN SELECT *FROM s1 WHERE s1.`key1` IS NULL; 表里 key1 为is null的总数为0 查询is null 走索引

EXPLAIN SELECT *FROM s1 WHERE s1.`key1` IS not NULL; 表里 key1 的列 is not null 的总数为0,不存在值为null 查询is not null 不走索引

 Is null count为19012条 ,is not count为9条 实验结果 is null 和 is not null 都走索引

 测试application 表,is null count有305条,表总有324条 ,is null 不走索引

总结:并不是 is null ,is not null走和不走索引是和数据量或者和其他元素有关系(这里我只是测试到和数据量有关系) sql优化器在执行的时候会计算成本,其实和基数,选择性,直方图有关,其实就是看你所搜索的部分占全表的比例是走索引还是全表成本低。

!=走索引吗?

<> 和!= 是同一个意思 ,都是不等于

测试一  <> 走索引,存在<>的数据量有9条

测试二<>走索引存在不等于的数据量有305条

   测试三 <> 不走索引 值都是“abc”,不是“abc”的总条数为0

SELECT COUNT(1)FROM s1 WHERE s1.`key3` ='abc'; -- 0

测试四 <>走索引

总结:并不能一句话说 走和不走,需要看条件,比如数据量,等于“abc”的数据量和不等于“abc”的量,mysql在执行的时候会判断走索引的成本和全表扫描的成本,然后选择成本小的那个

mysql is null走索引_Mysql数据库索引IS NUll ,IS NOT NUll ,!= 是否走索引相关推荐

  1. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  2. mysql 建索引_mysql数据库正确建立索引及使用

    普通mysql运行,数据量和访问量不大的话,是足够快的,但是当数据量和访问量剧增的时候,那么就会明显发现MySQL很慢,甚至down掉,那么就要考虑优化我们的mysql了.其中优化mysql的一个重要 ...

  3. mysql索引 聚集索引_MySql数据库索引-聚集索引和辅助索引

    InnoDB存储引擎索引: B+树索引:不能找到一个给定键值的具体行,能找到的只是被查找数据行所在的页.然后把页加载到内存,在查询所要的数据. 全文索引: 哈希索引:InnoDB会根据表的使用情况自动 ...

  4. mysql 主从 索引_Mysql繁忙主从库在线修改表结构与添加索引问题

    本帖最后由 jan_1985 于 2014-1-15 13:28 编辑 Mysql繁忙主从库在线修改表结构与添加索引问题 一直以来,生产情况下都有修改索引和修改字段的需求,但是对锁表引起的访问不便是会 ...

  5. mysql部门人员排序设计_MySQL数据库访问性能优化

    MYSQL应该是最流行的WEB后端数据库.大量应用于PHP,Ruby,Python,Java 等Web语言开发项目中,无论NOSQL发展多么快,都不影响大部分架构师选择MYSQL作为数据存储. MYS ...

  6. mysql增删改查大全_MySQL数据库增删改查SQL语句(2018整理集合大全)

    查看数据库 show databases; 使用数据库 use 数据库名; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 DROP DATABASE 数据库名; 创建表 crea ...

  7. mysql数据和性能平衡点_MySQL数据库性能优化(2)

    4.影响SQL性能的要素 MySQL数据库的性能不止受到性能参数和底层硬件条件的影响,在这两个条件一定的情况下,开发人员对SQL语句的优化能力更能影响MySQL数据库的性能.由于MySQL中不同数据库 ...

  8. mysql工资修改为空_mysql数据库技术1——基本的增删查改的sql语句

    1.数据库语言的分类 DDL:数据库定义语言 data Definition language 用于创建.修改.和删除数据库内的数据结构,如: 1:创建和删除数据库(CREATE DATABASE | ...

  9. mysql 从库数据损坏_MySQL数据库中数据损坏恢复全过程

    MySQL数据库中数据损坏恢复全过程 前几天因为MySQL数据库部分数据损坏原因,我尝试了下恢复数据,之后整理以下文档,供各位参考,以备各位同事以后如有类似问题,可以少走些弯路,尽快解决问题. 环境: ...

最新文章

  1. php源码编译常见错误解决方案大全
  2. Java提高——多线程(二)join、sleep、yield
  3. 音视频技术开发周刊 | 133
  4. 致家长:疫情期间教育好自己的孩子,就是你最重要的事业!
  5. centos7.3 安装 mysql-5.7.13
  6. C++强化之路之线程池开发整体框架(二)
  7. 国外html游戏发展历史,17个国外游戏行业的网页设计欣赏
  8. HTML_CSS_JS_JSON
  9. csv 读写 python_Python CSV读写
  10. Python BFS 提取二值图联通域
  11. Paxos在大型系统中常见的应用场景
  12. linux 设置自动定时清理日志
  13. Unity打包篇:关于MMD模型贴画在安卓手机上无法显示的问题。
  14. 【问题思考总结 线代】为什么非齐次方程的解是齐次通解加上一个非齐次特解?【几何直观+代数证明】
  15. python软件是免费的吗-python免费吗
  16. UDIMM、RDIMM和LRDIMM
  17. 怪物之心无法触发_异度之刃2解锁稀有异刃力男支线怪物之心BOSS位置攻略
  18. csp计算机专业,中国计算机学会推出CSP非专业级别认证
  19. MPLS多协议标签交换技术
  20. PyTorch中的常见报错总结

热门文章

  1. Firefox开发者工具里的CSS Flexbox Inspector
  2. SAP Spartacus如何为不同的environment设置不同的baseUrl
  3. why configuration from BSP application is loaded
  4. 如何查询SAP Cloud for Customer系统升级和维护时间
  5. SAP UI5 Web Component React应用如何在Component之间跳转
  6. 一个ABAP重构的实例:CL_CRM_LEAD_CREATE~SELECT_CAMPAIGNS_BY_SQL
  7. My FioriTest navigation from master page to detail page
  8. SAP Fiori attachment rename debug
  9. SAP WebIDE里OData service catalog的实现原理
  10. ABAP help document F1