mysql
bwylco_
故事还长,请别失望
展开
-
数据库实体类属性:基本类型和包装类型的应用场景
【int和Integer的区别】int是java提供的8种原始类型之一,java为每个原始类型提供了封装类,Integer是int的封装类。int默认值是0,而Integer默认值是null;int和Integer(无论是否new)比较,都为true, 因为会把Integer自动拆箱为int再去比;Integer是引用类型,用==比较两个对象,其实比较的是它们的内存地址,所以不同的Integer对象肯定是不同的;应用场景integer的场景1.Integer默认值是null,可以区分未赋值和值为原创 2022-02-23 00:51:50 · 456 阅读 · 0 评论 -
drop、truncate、delete详细区别
概述一、delete 1、delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。 2、delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。 3、delete语句不影响表所占用的extent,高水线(high watermark)保持原位置转载 2020-11-20 23:47:40 · 1146 阅读 · 0 评论 -
SQL优化-explain SQL执行计划与Type级别详解
Type级别详解 system>const>eq_ref>ref>range>inex>ALL 越往左边,性能越高,比如system就比ALL类型性能要高出许多,其中system、const只是理想类型,基本达不到; 我们自己实际能优化到ref>range这两个类型,就是你自己写SQL,如果你没优化基本上就是ALL,如果你优化了,那就尽量达到ref>range这两个级别; 这里我强调一下,左边基本达不到! 所以,要对type优化的前提是,你需要有索引,转载 2020-09-11 11:32:19 · 4162 阅读 · 1 评论 -
sql优化:Union和Union All的区别
区别Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All:对两个结果集进行并集操作,包括重复行,不进行排序;效率比较如果可以确认合并的两个结果集中不包含重复的数据的话,UNION ALL 要比UNION快很多:UNION先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。而UNION ALL只是简单的将两个结果合并后就返回,不进行排序。...原创 2020-09-11 11:22:39 · 258 阅读 · 0 评论 -
char、varchar、varchar2、nvarchar的区别
一、概述 1.char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。 2.varchar(n) 长度为 n 个字节的可变长...转载 2020-09-11 10:48:03 · 547 阅读 · 0 评论 -
distinct用法及其优化
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段,例如有如下表user :select distinct name from user用distinct来返回不重复的用户名,结果为:这样只把不重复的用户名查询出来了,但是用户的id,并没有被查询出来;原创 2020-08-06 01:41:17 · 4017 阅读 · 2 评论 -
对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁的理解
记得在上大学那会开始,在大学的课堂上,常常会听到老师讲什么共享锁,排它锁各种锁的词汇,以前仅仅听过一次就没有管了,并没有进行深入的研究最近,在各种群里,又看见了什么乐观锁、悲观锁什么鬼的感觉很高级的词汇,于是乎今天对这几个概念进行学习,揭开它神秘的面纱,缕缕思路记录下我对这几个概念的想法实验环境:mysql5.6存储引擎:innoDB我们在操作数据库的时候,可能会由于并发问...转载 2020-09-10 17:38:43 · 209 阅读 · 0 评论 -
sql日期格式化(Y&y等字母格式的区别)
常用格式描述%Y年,4 位,如:2017%y年,2 位,如:17%M月名,如:July%m月名,数字,00-12%D带有英文前缀的月中的天:2nd%d月的天,数值(00-31)%H小时 (00-23)%h小时 (01-12) ...原创 2020-11-19 23:22:26 · 829 阅读 · 0 评论 -
sql别名问题(mysql和Oracle有区别)&& sql执行顺序
一、sql执行顺序 from join on where group by(开始使用select中的别名,后面的语句中都可以使用) avg,sum.... having select distinct order bylimit 从这个顺序中我们不难发现,所有的 查询语句都是从from开始执行的,在执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。&.转载 2020-11-19 22:57:36 · 513 阅读 · 0 评论 -
数据库聚簇索引和非聚簇索引
聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据 非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置 在innodb中,在聚簇索引之上创建的索引称之为辅助索引,非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引。辅助索引叶子节点存储的不再是行的物理位置,而是主键值,辅助索引访问数据总是需要二次查找。 InnoDB使用的是聚簇索引,将主键组织到一棵B+树中,而行数据就储存在叶子节点上,若使用"where id = 14"这样的条件查原创 2020-09-11 15:06:08 · 177 阅读 · 0 评论