sql
木木的小林子
这个作者很懒,什么都没留下…
展开
-
sql查询中char或者varchar类型字段为null和‘没有值’时引起的问题分析
在平时开发中,我们都会遇到数据库中varchar或者char类型字段为null的情况,通常情况我们都会认为数据库中'某个值或者没有值'!=null这个条件的结果是true。但是,我得告诉你,上面说的那个等式的结果是false。首先上结论:'某个值或者没有值'!=null这个条件的结果是false'某个值或者没有值'=null这个条件的结果也是false解释下上面结论中说的‘没有值’,在数...原创 2019-12-09 23:20:12 · 5906 阅读 · 1 评论 -
一个诡异的sql索引失效现象
这两天在公司优化一个sql的时候碰到了一个诡异的事——一个表中的一个唯一性索引在更换了最左边的字段后,根据最左边字段为where后面的查询条件时,查看执行计划发现有些时候有用到索引,而有些时候则没有用到索引。现象具体说明出现问题的表结构以及其字符集如下:alter table sodr_po_header add UNIQUE KEY sodr_po_header_u1(po_num...原创 2019-11-06 10:54:36 · 268 阅读 · 0 评论 -
sql中的select 1
前两天在公司项目中看到有人在一个子查询中写了select 1,然后就很好奇这个写法的作用,通过网上各位大佬的介绍,得知select 1在作为子查询中的判断子查询结果是否存在条件时效率较高(大量数据情况下)。用法示例teacher表:teachercard表:使用的sql语句如下:select * from teachercard tc where exists (select 1 ...原创 2019-11-06 09:28:00 · 9019 阅读 · 0 评论 -
sql中count(1)、count(*)和count(字段名)的区别
测试实例count(1)测试,sql语句如下:select count(1) from ums_member;结果如下:count(*)测试,sql语句如下:select count(*) from ums_member;结果如下:count(主键)测试,sql语句如下:select count(id) from ums_member; --id为主键字段...原创 2019-11-06 09:28:27 · 11411 阅读 · 1 评论 -
sql性能优化-mysql
Mysql分层、存储引擎[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tGrQHjXV-1572965858526)(MySql分层.png)]常用引擎对比:InnoDB:事务优先(适合高并发操作,使用行锁)MyISAM:性能优先(使用表锁)可以使用show engines;查看当前使用数据库支持哪些引擎;使用show VARIABLES LIKE '%...原创 2019-11-06 09:28:44 · 164 阅读 · 0 评论 -
sql中的联表查询
sql中的join(本文仅介绍left join、right join、join on,图片是网上找的,原作者如果不允许使用请联系我)如下:测试数据:左连接,left join左连接使用示例:select * from teacher t left join course c on t.tid = c.tid;结果:通过上面的结果可以看出,左连接会将其左边的表作为主表(记为A)...原创 2019-10-23 20:09:10 · 856 阅读 · 0 评论