mysql
文章平均质量分 91
青柠编程
在计算机领域混战了5年的java开发工程师,正在向全栈奋斗的路上。目前在学习和分享:Java,springboot,spring,vue,系统开发,服务器运维(可做毕业设计)等相关知识。亲测有效的实战经验,实时技术风口播报,追求最新的技术,欢迎大家一起学习
展开
-
【MySQL】 IS NOT NULL 和 != NULL 的区别?
上面第三个SQL插入的NULL是个字符串格式的NULL,对于MyISAM的存储引擎,测试的结果和上述结果是一样的。当字段上包含有索引时,由于B树索引是不会存储NULL值的,所以在使用这个字段做为查询条件时,对性能的影响还是比较大的,在平时创建索引的时候,应该尽量保证列的值不为NULL。对于第2个问题,因为NULL值是占了一定空间的,所以在MySQL进行字段比较的时候,值为NULL的字段也是会参与比较的,所以是会对性能有一定的影响。可以看到,不同的查询条件,对于查询的结果区别还是特别大的。原创 2023-06-12 17:03:57 · 4202 阅读 · 4 评论 -
一条更新语句的执行流程又是怎样的呢?
当一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以这条语句就会把表T上所有缓存结果都清空。这也就是我们一般不建议使用查询缓存的原因。接下来,分析器会通过词法和语法解析知道这是一条更新语句。优化器决定要使用ID这个索引。然后,执行器负责具体执行,找到这一行,然后更新。与查询流程不一样的是,更新流程还涉及两个重要的日志模块,它们正是我们今天要讨论的主角:redo log(重做日志)和 binlog(归档日志)。如果接触MySQL,那这两个词肯定是绕不过的,我后面的内容里也会不断地和你强调。原创 2023-04-12 13:37:13 · 384 阅读 · 0 评论 -
Mysql的学习与巩固:一条SQL查询语句是如何执行的?
我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在MySQL内部的执行过程。所以今天我想和你一起把MySQL拆解一下,看看里面都有哪些“零件”,希望借由这个拆解过程,让你对MySQL有更深入的理解。这样当我们碰到MySQL的一些异常或者问题时,就能够直戳本质,更为快速地定位并解决问题。原创 2023-04-11 11:43:21 · 729 阅读 · 0 评论