数据库
数据存储相关
Java技术堆
这个作者很懒,什么都没留下…
展开
-
行转列,列换行
文章目录行转列基础数据查出聚合后的第一个分组数据查出每个用户每门课的分数对各门功课各分数段进行统计 分数段 数学 语文 英语1. 查出每个用户所处的分数段2. 查出每门课每个分数段的人数(对课程+分数段进行聚合)使用case when不用加() 把case when看作一个普通函数,类似date 聚合时不加别名通过列转行技巧反转行转列基础数据行转列基础数据SELECT * FROM...原创 2020-03-21 10:33:27 · 698 阅读 · 0 评论 -
理解mysql锁和事务
文章目录三种锁定机制表级锁定行级锁定 InnoDb页级锁定mysql的myism存储引擎表级锁有两种模式MyIsam表锁优化查询表级锁争用情况缩短锁定时间分离能并行操作合理利用读写优先级InnoDb存储引擎InnoDb锁定模式及实现机制InnoDb对记录加锁的方式InnoDb实现行锁的三种算法那么什么时候使用记录锁,什么时候使用Next-key锁呢?使用间隙锁的目的InnoDb行锁的特点Inn...原创 2020-03-17 14:35:40 · 642 阅读 · 0 评论 -
数据库sql优化
文章目录SQL优化怎么判断sql优化的sql编写技巧执行计划的使用优化案例组合索引组合索引的使用效果:mysqsl只能使用一次索引么SQL优化怎么判断sql优化的系统级别表象CPU消耗严重+IO等待严重+页面响应时间过长+日志超时等错误top命令查看Prometheus、Grafana监控工具查看sql语句级表象语句冗长+执行时间过长+全表扫描+执行计划中rows、cost很大...原创 2020-03-15 23:16:41 · 443 阅读 · 0 评论 -
oracle列传行
oracle列传行wm_concat函数注意: wm_concat有长度限制或者版本不支持,11.1以后不支持WM_CONCAT(XXX)TO_CHAR(WM_CONCAT(XXX))解释:通过GROUP BY聚合函数,将一个组的结果拼接起来listagg函数LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)解释:通过GROUP BY聚合函数 ...原创 2019-06-27 11:18:19 · 591 阅读 · 0 评论 -
Oracle As with语法
文章目录with查询语句语法介绍实际案例总结with查询语句不是以select的查询语句,在真正查询之前预先构造一个临时表,之后可以对它进一步的分析和处理优点:增加sql易读性,若存在多个子查询,结构会更加清晰提升性能,实现“一次分析,多次使用”语法介绍## 整体语法:with tempName as (select ...)## 针对一个别名:with tmp as(select ...原创 2019-12-13 17:24:49 · 239 阅读 · 0 评论 -
Oracle函数
思路:将问题转化为数值计算-1Deode(分支函数)DECODE(value,if1,then1,if2,then2,if3,then3,…,else) 若value等于if1则为then1,肉value等于if2则为then2、Sign(比较函数)sign(n) 若n大于0则返回1,小于0返回-1例子:工资在8000元以下的将加20%;工资在8000元以上的加15%select de...原创 2019-09-05 10:34:58 · 161 阅读 · 0 评论 -
临时表&&instr
instr应用select * from a where instr(a,b)>0;用于实现B字段是A字段中的某一部分的时候临时表+判断select case when instr((listagg(temp.srvtype_code,',')within group(order by temp.srvtype_code)),ts.srvtype_code)>0 ...原创 2019-08-23 21:09:55 · 179 阅读 · 0 评论 -
Oracle物化视图之 物化视图日志与快速刷新
1、使用物化视图中遇到的问题一般在创建物化视图的时候,在数据量不大的时候,刷新的方式都是采用完全刷新的。随着系统的使用一些物化视图的源表的数据量在不断的增长,原本采用完全方式几秒就能刷新完成的物化视图,现在需要等待很久的时间才能刷新完成。其实物化视图从一开始就帮我们想好了解决方法:通过物化视图日志来实现物化视图的快速刷新;2、传统完全刷新 区分 快速刷新完全刷新:先把物化视图...原创 2019-05-20 15:55:13 · 6595 阅读 · 1 评论 -
sql优化02之小表驱动大表
1. 驱动表的定义当进行多表连接查询时, [驱动表] 的定义为:1)指定了过滤条件时,满足查询条件的记录行数少的表为[驱动表]2)未指定过滤条件时,行数少的表为[驱动表](Important!)2. 为何要 小表驱动大表?? 通常来讲,不管Oracle还是Mysql,优化的目标都是尽可能的减少关联的 循环次数,保证小表驱动大表 例: user表1...原创 2019-05-19 22:35:05 · 8786 阅读 · 0 评论 -
Oracle常识知识1
create index indexName on tableName (indexColumn1) --创建单列索引drop index indexName --删除单列索引select * from user_ind_columns where index_name='索引名';--根据索引名,查询表索引字段select * from user_indexes where tab...原创 2019-05-17 17:32:59 · 169 阅读 · 0 评论 -
Oracle的物化视图01
0、物化视图简介物化视图的特点:(1) 物化视图在某种意义上说就是一个物理表(而且不仅仅是一个物理表),这通过其可以被user_tables查询出来,而得到佐证;(2) 物化视图也是一种段(segment),所以其有自己的物理存储属性;(3) 物化视图会占用数据库磁盘空间,这点从user_segment的查询结果,可以得到佐证;****化视图由于是物理真实存在的,故可以创建索引...原创 2019-05-17 15:03:03 · 414 阅读 · 0 评论 -
PLSQL查询执行计划
一般优化途径:如果能通过修改语句优化,比如查询条件或执行顺序,sql改不了,可以通过增加索引来解决,增加索引还不行,那就要考虑实现方式是否有问题了一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在。1、 打开熟悉的查看工具:PL/SQL Develope...原创 2019-05-15 15:15:43 · 13930 阅读 · 3 评论 -
普遍优化策略
select ... from ... where ...group by ... having ... order byfrom ... where ... select ... (join_on) (group by_having) (distinct_union)一. SQL语句尽量用大写,尽量不用*(整体) ...原创 2019-04-19 00:12:22 · 85 阅读 · 0 评论 -
Mysql 与 HBase技术选型
参考博客:https://blog.csdn.net/daxiang12092205/article/details/52077938MySQL + HBase 是我们日常应用中常用的两个数据库,分别解决应用的在线事务问题和大数据场景的海量存储问题在最近的一些版本中,引入了OffHeap降低gc影响,优化链路延迟,提供Replica等可以满足在线的需求。引入MOB,可以存储10M左右的对象...原创 2019-06-03 12:51:52 · 3673 阅读 · 0 评论 -
批量插入数据库
1.场景 当需要批量插入数据库很多记录时,需要进行特殊处理2.解决2.1使用连接池2.1.1什么是连接池 数据库连接对象的一个缓冲池,用时从池中取,用完还回池中。 使用数据库连接池可以极大提高系统性能2.1.2实现数据库连接池 |—定义一个类实现java,sql.DataSource接口、 |—定...原创 2019-03-08 19:21:46 · 441 阅读 · 0 评论 -
从头学习大数据第一天
一.为啥大数据公司需要的员工是全能型的?? 公司项目是分阶段的。 没有数据先做平台。有数据了做数据分析。数据稳定之后加需求,加功能。 后期做一些管理系统,做一些报表管理平台。二.为什么我要先做一个项目,而不是直接去研究源代码?? 实践出真知。 《实践先行,理论跟进》这是学习Code的方法论,是我学习...原创 2019-03-20 09:27:49 · 123 阅读 · 0 评论 -
Kafka进阶02
一. 问题场景以及解决的问题 哪些异常可以重试 如何实现重试 场景:发送消息到Broker时抛出异常,并且是允许重试的异常——>就会进行最大重试retries参数 指定的次数二. 机制解读1. 允许重试的必要条件 a) 重试次数少于参数retries指定的值 b) 异常是Retr...原创 2019-03-26 06:44:08 · 209 阅读 · 0 评论 -
Kafka出现的丢包和重发问题01
一. Kafka出现的问题 问题:Kafka是当下流行的高并发消息中间件,能够高效并实时的吞吐数据,而且通过副本冗余机制保证了数据安全。 但还是会出现 丢包 or 重复消费 问题二.Kafka生产消息流程 2.1 生产者命令 创建主题时,就已经指定了分区数 和 副本数 sh ...原创 2019-03-21 11:40:52 · 1821 阅读 · 1 评论