
数据库
文章平均质量分 53
来老铁干了这碗代码
算法爱好者 终生学习践行者 雨雪刀霜阻不住 不成大神誓不休
展开
-
left join中,on字段后用and和where的性能区别
这种情况就是先找出a.age=18中a表的数据,然后根据a.id = b.id做筛选。这种情况会全表扫描a,然后筛选出a.id = b.id并且a.age = 18。原创 2022-10-12 10:25:08 · 1732 阅读 · 2 评论 -
【已解决】list.size() = 1 但显示 All elements are null
背景:使用mybatis中的聚合函数(max()、avg())查询SQL语句,返回结果装入List集合使用了以下方法判断空值:if (CollectionUtils.isNotEmpty(list)) { return xxx;}结果是,无论是否从数据库中查询到值, 返回都不为空。进一步debug发现, list.size() = 1,但List中值为空, 显示All elements are null 问题原因:使用了MySQL中的聚合函数,分别是求和函数SUM()、求平均函数原创 2022-05-09 16:14:42 · 4929 阅读 · 1 评论 -
【完美解决】Could not process result for mapping: ResultMapping{property=‘null‘, column=‘xxx‘, javaType=
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Could not process result for mapping: ResultMapping{property=‘null’, column=‘settle_time’, javaType=class java.util.Date, jdbcType=TIMESTAMP, nest.原创 2022-04-07 20:18:40 · 2556 阅读 · 0 评论 -
【手把手教学】基于Maven构建方式使用Mybatis generator自动生成
1. 简介Mybatis generator是一种代码生成器, 可以基于数据库表的字段与类型,自动生成Java代码中对应的entity类、dao类、mapper映射文件。实现Mybatis generator功能有多种方式,如插件方式、配置文件方式等。 这里采用经过我个人实践并成功的方式来操作。2. 添加依赖第一个依赖是mybatis-generator代码生成器的核心依赖第二个依赖是mysql通过JDBC连接数据库的依赖<!-- https://mvnrepository.com/a原创 2022-03-21 13:14:00 · 2133 阅读 · 0 评论 -
MySQL分区表概念以及优缺点
1. 表空间及分区表的概念1.1 表空间是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。1.2 分区表当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。2. 表分区的具体作用2.1 作用Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用原创 2021-11-22 20:16:53 · 2840 阅读 · 0 评论 -
对于半结构化数据的讲解,这可能是最通俗易懂的一篇文章了
一. 概述相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本、图象、声音、影视、超媒体等信息)。非结构化WEB数据库主要是针对非结构化数据而原创 2021-11-22 15:50:05 · 5049 阅读 · 0 评论 -
阿里飞天云平台架构简介
一. 简介飞天是由阿里云开发的一个大规模分布式计算系统,其中包括飞天内核和飞天开放服务。飞天内核负责管理数据中心Linux集群的物理资源,控制分布式程序运行, 隐藏下层故障恢复和数据冗余等细节,有效提供弹性计算和负载均衡。如图所示,飞天体系架构主要包含四大块:1、资源管理、安全、远程过程调用等构建分布式系统常用的底层服务;2、分布式文件系统;3、任务调度;4、集群部署和监控。飞天开放服务为用户应用程序提供了计算和存储两方面的接口和服务,包括弹性计算服务(Elastic ComputeService,.翻译 2021-11-09 20:37:54 · 2251 阅读 · 0 评论 -
数据源是什么?
数据源,简单理解为数据源头,提供了应用程序所需要数据的位置。数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等。数据源定义了位置信息,用户验证信息和交互时所需的一些特性的配置,同时它封装了如何建立与数据源的连接,向外暴露获取连接的接口。应用程序连接数据库无需关注其底层是如何如何建立的,也就是说应用业务逻辑与连接数据库操作是松耦合的。...原创 2021-11-09 20:16:35 · 4385 阅读 · 0 评论 -
ODPS是什么?——阿里云开发者社区
摘要: ODPS(Open Data Processing Service),是阿里巴巴通用计算平台提供的一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案,现在已更名为MaxCompute,MaxCompute 向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。ODPS(Open Data Processing Service),是阿里巴巴通用计算平台提供的一种快速、完全托管的 GB/TB/PB 级数据仓库解.转载 2021-11-01 18:06:48 · 912 阅读 · 0 评论 -
Mysql+Mybatis分页查询——数据库系列学习笔记
一、首先做一个查询所有并显示daopublic interface ProductDAO { public List<Product> list();}mapper<mapper namespace="hust.mm.dao.ProductDAO"> <select id="list" resultType="Product"> select * from product </select></mapper>Contro原创 2021-09-28 11:23:35 · 259 阅读 · 0 评论 -
sql中limit的用法——数据库系列学习笔记
limit子句用于限制查询结果返回的数量。用法:select * from tableName limit i,n 参数:tableName : 为数据表;i : 为查询结果的索引值(默认从0开始);n : 为查询结果返回的数量举例:1)查询student的数据:select * from student2)查询第一条数据select * from student limit 13)查询第二条数据select * from student limit 1,14)查询s原创 2021-09-28 11:14:54 · 909 阅读 · 0 评论 -
MySQL中count(1),count(*),count(某字段)等用法联系和区别
一. 从执行结果来看count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计二. 从执行效率上看他们之间根据不同情况会有些许区别,MySQL会对count(*)做优化。(1)如果列为主键,count(列名)效率优于count(1) (2)如果列不为主键,count(1)效率优于count(列名) (3)如果表中存在主键,count(主键列名)效率最优 (4)如果表中只有原创 2021-09-27 15:02:26 · 3339 阅读 · 2 评论 -
MyBatis-动态sql语句-if用法——MySQL系列学习笔记
select根据传入的参数来决定:如果用户名不为空,则对用户名进行模糊查询,如果邮箱不为空,则以邮箱为查询条件 <select id="selectByUser" parameterType="com.tgb.mybatis.entity.SysUser" resultType="com.tgb.mybatis.entity.SysUser"> select user_name "userName", user_passw原创 2021-09-26 20:59:51 · 657 阅读 · 0 评论 -
【一起去大厂系列】针对left join以及limit的两条优化小技巧
记两则亲身经历的sql优化技巧:一、主表数据不到100万,以下查询结果集约200左右,第一条sql执行效率为40ms,第二条为200ms,使用上面方法,其效率明显优于left join:sql1:SELECT SQL_NO_CACHE usersr_id ,businessunit_id ,ifnull((SELECT name FROM sync_businessunit WHERE id= obj.businessunit_id),'无名' ) businessunit_name ,i原创 2021-09-26 20:53:56 · 393 阅读 · 0 评论 -
【一起去大厂系列】深入理解MySQL中where 1 = 1的用处
首先,明白一个前提条件:where 1 = 1; --永远为真也就是说:select * from student; 等同于: select * from student where 1 = 1;看起来,where 1 = 1就是一个永远为真的条件,没有什么用。 但当我们加上动态SQL语句后,结果就不同了:没有where 1 = 1时select * from studentwhere and condition1 and condition2 and ..原创 2021-09-26 20:37:06 · 624 阅读 · 0 评论 -
【一起去大厂系列】什么是回表查询?怎么优化回表查询?
提到什么是回表查询之前,不得不先解释一下InnoDB的索引。InnoDB的索引InnoDB有两大类索引,一类是聚集索引(Clustered Index),一类是普通索引(Secondary Index)InnoDB聚集索引和普通索引有什么差异?有什么区别呢?InnoDB的聚集索引每行数据是存在InnoDB聚集索引的叶子节点上的,因此InnoDB必须要有且只有一个聚集索引,下面聚集索引的生成规则:如果表定义了PK(Primary Key,主键),那么PK就是聚集索引。如果表没有定义PK,则第一原创 2021-09-26 17:17:47 · 338 阅读 · 0 评论 -
SQL 中 left join 的底层原理(各种JOIN的复杂度探究)
01. 前言写过或者学过 SQL 的人应该都知道 left join,知道 left join 的实现的效果,就是保留左表的全部信息,然后把右表往左表上拼接,如果拼不上就是 null。除了 left join 以外,还有 inner join、outer join、right join,这些不同的 join 能达到的什么样的效果,大家应该都了解了,如果不了解的可以看看网上的帖子或者随便一本 SQL 书都有讲的。今天我们不讲这些 join 能达到什么效果,我们主要讲这些 join 的底层原理是怎么实现的,也翻译 2021-09-26 16:52:27 · 3013 阅读 · 0 评论 -
硬核!MySQL数据库面经大全——双非上岸阿里巴巴系列
东北某不知名双非本,四面成功上岸阿里巴巴,在这里把自己整理的面经分享出来,欢迎大家阅读。序号文章名超链接1操作系统面经大全——双非上岸阿里巴巴系列2021最新版面经——>传送门12计算机网络面经大全——双非上岸阿里巴巴系列2021最新版面经——>传送门23Java并发编程面经大全——双非上岸阿里巴巴系列2021最新版面经——>传送门34Java虚拟机(JVM)面经大全——双非上岸阿里巴巴系列2021最新版面经——>传送门4原创 2021-07-18 20:13:48 · 10431 阅读 · 23 评论 -
通俗易懂!navicate如何导入MySQL数据库的.sql文件?
1、启动navicate,新建一个连接2、右键连接,选择新建数据库建立一个与要导入sql文件同名的数据库,比如我要导入的.sql文件名是miaosha.sql,我要建立的数据库名字就是miaosha3、右键连接,选择运行SQL文件选项,点击导入。导入完成后,右键刷新即可。如果刷新后数据库还未更新,就重新启动一下。有用就点个赞吧!...原创 2021-07-04 13:35:18 · 771 阅读 · 3 评论 -
使用最新版mysql 8.0.11会出现的一些问题
最新版的mysql更新了驱动加载方式和数据库的连接方式如果仍然使用旧版的Mysql的连接方式,就会出现许多错误。更改前:mysql的连接指令String driver = "com.mysql.cj.jdbc.Driver";String URL = "jdbc:mysql://localhost:3306/studentString username = "root"String password = "root"更改后:mysql的连接指令其中driver中需要添加.cjurl中需添原创 2021-06-28 09:55:12 · 291 阅读 · 2 评论 -
【终极办法】windows下安装完MySQL,为什么cmd不识别命令?
原因:环境变量中的path没有配置MySql的路径1、找到MySql在文件夹的位置,并且测试MySql是否安装到了本机上测试方法:cmd进入MySql所在的文件夹,进行MySql操作,如果可以,则证明成功安装了MySql2、我的电脑——>右键单击属性——>点击高级系统设置——>点击高级——>点击右下角的环境变量选项,在系统变量中找到Path项并配置3、重开一个cmd,发现可以正常运行了OVER!!!有用就点个赞吧!...原创 2021-06-22 16:32:13 · 7563 阅读 · 2 评论 -
【已解决】Exception in thread “Thread-0“ redis.clients.jedis.exceptions.JedisConnectionException: java.n
问题:Exception in thread “Thread-0” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out可能的原因:1、没启动redis。2、没关闭防火墙,导致端口无法连接3、代码中的ip地址写错了关闭防火墙的方法:service iptables stop仅当前这次关闭防火墙,下次无效。...原创 2021-05-17 16:34:57 · 842 阅读 · 1 评论