![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库+ES
文章平均质量分 92
666
keep one's resolveY
保持清醒!
展开
-
存储过程学习,很全很细,有语法 | 有例子 | 批量造数据100万 | 附件带脚本
存储过程其实很简单,就是数据库SQL脚本层面的代码封装与重用,创建编译并保存在数据库中。转载 2024-04-08 09:25:12 · 89 阅读 · 0 评论 -
MongoDB学习
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB服务端可运行在。转载 2023-09-27 09:01:56 · 260 阅读 · 0 评论 -
数据仓库和ETL+数据库的区别
数据仓库的本质还是一个数据库,它将各个异构的数据源数据库的数据给统一管理起来,并且完成了质量较差的数据的剔除、格式转换,最终按照一种合理的建模方式来完成源数据组织形式的转变,以更好的支持到前端的可视化分析。数据仓库中主要存储的是结构化的数据,但是它的来源可以是多种类型的数据来源(结构化、半结构化、非结构化),中间需要一个ETL过程。转载 2023-06-14 11:00:03 · 272 阅读 · 0 评论 -
SQL关于left join的重复问题和连接条件where on筛选问题
datediff为null的时候,左表结果为7,右表为0,其他的以此类推,和前面的结果是一样的。这样我们就知道了,没有达到预期的根源在于存在空的日期。可以看到最终得到了想要的结果,以最后一行为例,它表示,距离2019-09-29 5天的那天(也就是2019-09-24)活跃的人数有5个,那些人在2019-09-29仍然活跃的有2人,你可以看一下明细数据核对一下。a表有6条记录,b表有3条记录,且关键的键是唯一的,因此最终结果以a表为准有6条记录,b表有3条关联不上,相应的记录中,b表所有的字段都为空。转载 2023-05-25 16:52:05 · 3217 阅读 · 0 评论 -
Sql和代码实现行列转换
前言大家好,我是楚生辉,在未来的日子里我们一起来学习大数据SQL相关的技术,一起努力奋斗,遇见更好的自己!本文详细的介绍了多个方法实现列转行,行转列,并提供了案例的材料,有需要的小伙伴可以自行获取与学习~数据准备1.使用join拼接我们把其他几门科目的成绩查出来后当做临时表再使用join不就解决了该问题吗?!而连接条件便是std。看到这,大家可以自己试一试。然后我们只需要对上述的结果,挑选出我们想要的数据即可2.自然拼接自动的寻找2表中的(所有)同名且属性相同的列作为连接条件。转载 2023-04-26 13:44:30 · 618 阅读 · 0 评论 -
sql中 group by多个字段,对所有字段做group by
如果还是做聚合的操作的话,和两个group by的原理是一样的,都是分别进行拆分。但是本质上还是对A列先进行拆分,分为1和2两个元素,针对1和2在进行拆分,1对应的B列有a和b,然后B列中的a也有甲乙两个字段。先对B列进行拆分,拆分成a,b两个,然后分别针对a和b进行拆分。a对应所有的C的字段a-甲,a-乙,b也是同理。首先是大家都明白的一个group by操作,用B做group by的条件,a一共有4个,b一共有6个。其实就是做了两次聚合,如下例子,先对B列做一个聚合,再对C列做一次。转载 2023-04-24 10:34:18 · 1871 阅读 · 0 评论 -
数据库大批量操作
1、对于大批量数据库操作,使用手动事务提交可以很多程度上提高操作效率,多线程对数据库进行操作时,并非线程数越多操作时间越快,按上述示例大约在2-5个线程时操作时间最快。原创 2023-04-12 11:31:09 · 648 阅读 · 0 评论 -
explain | 索引优化的这把绝世好剑,你真的会用吗?
慢查询的确会导致很多问题,我们要如何优化慢查询呢?主要解决办法有:监控sql执行情况,发邮件、短信报警,便于快速识别慢查询sql打开数据库慢查询日志功能简化业务逻辑代码重构、优化异步处理sql优化索引优化其他的办法先不说,后面有机会再单独介绍。今天我重点说说索引优化,因为它是解决慢查询sql问题最有效的手段。如何查看某条sql的索引执行情况呢?没错,在sql前面加上explain。转载 2023-04-10 09:17:16 · 151 阅读 · 0 评论 -
SQL高级功能:窗口函数、存储过程及经典排名问题、topN问题、WITH 子句
如上图,聚合函数sum在窗口函数中,对自身记录以及位于自身以上的数据进行求和,如课程号0002对应的学号0002后面的sum结果就是课程号0002中学号为0001和0002对应的成绩之和,课程号0002对应的学号0003后面的sum结果就是课程号0002中学号0001、0002和0003对应的成绩之和。以上窗口函数,用了rows和preceding这两个关键字,是“之前~行“的意思,在上面也就是之前2行的意思,也就是得到的结果是自身记录及前2行的平均。),括号里面只包含了参数的类型和名称,方便调用。转载 2023-03-08 16:40:46 · 6503 阅读 · 0 评论 -
PGSQL操作手册
【代码】PGSQL操作手册。原创 2022-12-27 17:40:54 · 4714 阅读 · 1 评论 -
图解|索引覆盖、索引下推以及如何避免索引失效
图解|索引覆盖、索引下推以及如何避免索引失效转载 2022-10-12 16:35:29 · 745 阅读 · 0 评论 -
MySql的 union 和 union all
在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表。另外,如果系统中进行了分表,一定要保证各个表的字段顺序一致。如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。后面的表的数据会按照字段顺序依次附在后面,而不是按照字段名称匹配。我们上面以*来表示顺序的不同,其实你写成不同顺序的字段结果一致。后面的表的数据会按照顺序依次附在后面。先来说下,如果顺序不同,会是什么结果?转载 2022-09-08 22:32:32 · 1211 阅读 · 0 评论 -
Mysql常用函数大全(分类汇总讲解)
一、数学函数二、聚合函数(常用于GROUP BY从句的SELECT查询中)三、字符串函数四、日期和时间函数一些示例:获取当前系统时间:1234 返回两个日期值之间的差值(月数):1 在Mysql中计算年龄:1 这样,如果Brithday是未来的年月日的话,计算结果为0。下面的SQL语句计算员工的绝对年龄,即当Birthday是未来的日期时,将得到负值。1 五、加密函数示例:1234567 六、控制流函数MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑转载 2022-08-31 12:55:36 · 412 阅读 · 0 评论 -
ElasticSearch
1.ElasticSearch概述2. ES与Solr的差别2.1. Solr简介2.2.Lucene简介2.3. ES VS Solr3. ElasticSearch 安装官网ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D logstash: https://mirrors.huaweicloud.com/logstash/?C=N&O=D k..原创 2022-01-02 15:31:16 · 842 阅读 · 0 评论 -
MySql索引优化及Explain命令
一、为什么要对SQL进行优化业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,影响使用体验,此时对SQL的优化就很有必要。二、SQL优化的一些方法查询相关:0.不要使用select *,1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中使用 or 来连接条件,否则转载 2021-11-17 20:04:14 · 1407 阅读 · 0 评论 -
MySQL行锁详解(共享锁和排他锁)及应用级JUC锁和数据库锁的区别
一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。MySQL各存储引擎使用了三种类型(级别)的锁定机制:表级锁定,行级锁定和页级锁转载 2021-10-19 23:14:24 · 746 阅读 · 0 评论 -
MySql悲观锁(行锁)和乐观锁
一、悲观锁VS乐观锁引言为什么需要锁(并发控制)在并发的环境中,会存在多个用户同时更新同一条数据,这时就会产生冲突。冲突结果:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。因此为了解决上述问题,引入了并发控制机制。乐观锁(乐观并发控制)和悲观锁(悲观并发控制)是并发控制的主要手段,其实不仅关系型数据库中有乐观锁和悲观锁的概念,像redis,memcached等都有类似的概念。所以,不要把乐观.转载 2021-10-19 01:10:31 · 27672 阅读 · 2 评论 -
MySQL==》DTAETIME、TIMESTAMP、DATE、TIME、YEAR(日期和时间类型)
MySQL中有多处表示日期的数据类型:YEAR、TIME、DATE、DTAETIME、TIMESTAMP。当只记录年信息的时候,可以只使用 YEAR 类型。每一个类型都有合法的取值范围,当指定确定不合法的值时,系统将“零”值插入数据库中。下表中列出了 MySQL 中的日期与时间类型。类型名称 日期格式 日期范围 存储需求 YEAR YYYY 1901 ~ 2155 1 个字节 TIME HH:MM:SS -838:59:59 ~ 838:..转载 2021-08-14 11:52:49 · 186 阅读 · 0 评论 -
Mysql单双引号及反引号
反引号通常用于表示安全,identifier并且不会意外地使用保留关键字。例如:Use`database`;这里的反引号将帮助服务器理解database实际上是数据库的名称,而不是数据库标识符。可以对表名和字段名执行相同的操作。如果用反引号包装数据库标识符,这是一个非常好的习惯。MySQL中有两种类型的引号:' 用于包含字符串文字` 用于包含表和列名称等标识符然后有"一个特例。根据MySQL服务器的不同,它可以一次用于上述目的之一sql_mode:默认情况下,该"字符..转载 2021-03-27 23:42:55 · 2940 阅读 · 0 评论 -
Mysql安装Windows
下载地址:https://dev.mysql.com/downloads/mysql/Windows下MySQL下载安装、配置与使用用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤。(我这个写得有点太详细了,甚至有些繁琐,有很多步骤在其他的教程文档里都是省略掉的,但我还是要写出来,因为我当时走了很多弯路,我希望你们能够避免我走的这些弯路。当然,知道同学的可以略过,选择你想知道的地转载 2021-02-24 00:15:20 · 202 阅读 · 0 评论 -
MySQL---事务+事务隔离级别
一、事务定义Transaction 事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元) 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成 事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同二、转账操作理解事务关于银行账户转账操作,账户转账是一个完整的业务,最小的单元,不可再分————————也就是说银行账户转账是一个事务以下转载 2021-02-04 21:13:09 · 195 阅读 · 0 评论 -
MYSQL中的COLLATE是什么?
在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下:CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` text COLLATE utf8_unicode_ci NOT NULL COMMENT '字段1', `field2` varchar(128) COLLATE utf8_转载 2021-01-27 22:47:11 · 113 阅读 · 0 评论 -
MySQL业务拆分、主从复制,表分区,分库与分表中间件Sharding-JDBC
一、MySQL扩展具体的实现方式随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。关于数据库的扩展主要包括:业务拆分、主从复制,数据库分库与分表。这篇文章主要讲述数据库分库与分表(1)业务拆分在大型网站应用之海量数据和高并发解决方案总结一二一篇文章中也具体讲述了为什么要对业务进行拆分。业务起步初始,为了加快应用上线和快速迭代,很多应用都采用集中式的架构。随着业务系统的扩大,系统变得越来越复杂,越来越难以维护,开发效率变得越来越低,并且对..原创 2020-12-26 00:09:27 · 2212 阅读 · 0 评论 -
MySQL总结__狂神说Java
1、初识MySQLJavaEE:企业级Java开发 Web前端(页面:展示:数据)后台 (连接点:连接数据库JDBC,连接前端(控制视图跳转,给前端传递数据))数据库(存数据,Txt,Excel,Word)只会写代码,学好数据库,基本混饭吃:操作系统,数据结构与算法!当一个不错的程序猿!离散数学,数字电路,体系结构,编译原理。+实战经验,优秀程序猿1.1为什么学数据库1、岗位需求2、现在的世界,大数据时代,得数据者得天下3、被迫需求:存数据4、数据库是所有转载 2020-11-23 23:43:33 · 1648 阅读 · 1 评论 -
mysql_SQL语句整理
1.对数据库常用命令1.连接数据库mysql -u用户名 -p密码2.显示已有数据库show databases;3.创建数据库create database sqlname;4.选择数据库use database sqlname;5.显示数据库中的表(先选择数据库)show tables;6.显示当前数据库的版本信息以及连接用户名select version(),user();7.删除数据库(删除时没有提示直接删除)drop database sqlname;2.数据库中对表的命令转载 2020-11-23 23:02:58 · 449 阅读 · 1 评论 -
orcale_SQL语句整理
--DQL:数据查询语言功能:从数据库表中查询数据出来;对应到生活中的软件 百度搜索、查询;select 语句例如:用户信息表 user_tab 列:user_id 编号; user_name 姓名 passwd 密码 phone 手机号 email 邮箱 create_date 创建日期 模拟场景:从user_tab中把想要的数据查询出来;1.查询表中所有的数据:所有行,所有列;select * FROM user_tab;2....原创 2020-05-11 00:04:33 · 18996 阅读 · 0 评论 -
一文搞懂SQL中的各种联结——内联结、自然联结、自联结、交叉联结
所谓“ 联结 ”指的是数据表和本身,以及不同数据表之间的“ 联结关系 ”。常见的联结有自连接、自然连接、内连接、外联结、完全连接等等。本文以SQLite数据库作为实例讲解,创建了一个名为product的数据库用来存储产品信息。数据库中有两个表,一个productinfo,用来存储每一种产品的详细信息,另一个是vendors,用来存储提供产品的供应商信息,他们的结构分别如下:productinfo表的信息如下,productname设置为主键(primary key)转载 2020-04-19 16:37:31 · 706 阅读 · 1 评论