2 像豆芽一样优秀

尚未进行身份认证

我要认证

万物皆为我所用,但非我所属

等级
TA的排名 34w+

MySQL的视图(view)

一、 什么是视图?视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。二、 为什么要用视图?视图隐藏了底层的表结构, 简化了数据访问操作, 客户端不再需要底层表的机构及其之间的关系。视图是一个查询结果集, 随实体数据表数据变化而变化。视图提供了一个统一访问的接口。(即可以允许用户通过视图访问数据的安全机制, 而不授予用户直接访问底层表的权限), 从而加强了安全性, 使用户只能看到视图所显示的数据。视图还可以被嵌套, 一个

2020-10-19 09:45:02

ETL工具kettle的插入更新操作

一、 示例脚本:# 创建表CREATE TABLE `score` ( `id` bigint NOT NULL AUTO_INCREMENT, `sname` varchar(255) DEFAULT NULL COMMENT '学生姓名', `cname` varchar(255) DEFAULT NULL COMMENT '课程名称', `score` int DEFAULT NULL COMMENT '分数', PRIMARY KEY (`id`)) ENGINE=Inno

2020-10-14 09:41:57

ETL工具kettle的列转行组件

一、 示例脚本:# 创建表create table score( id bigint(20) auto_increment, sname varchar(255) comment "学生姓名", cname varchar(255) comment "课程名称", score int(11) comment "分数", primary key(id))engine=innodb;# 插入数据insert into score values(1,"小孙","mysql",55);ins

2020-09-25 14:29:49

ETL工具kettle的发送邮件功能

我们可以通过发送邮件的方式来知道Kettle程序是否正常运行。一、 邮箱授权登录你的邮箱并开启POP3/SMTP服务(我这边使用的QQ邮箱)启动完成的授权码复制(随后使用)二、 创建转换任务三、 配置组件参数发送邮件的消息服务配置其他邮箱参数可能不同,百度自查。SMTP服务器(QQ发送):smtp.qq.com端口号(QQ邮箱端口号):465或587用户名(QQ邮箱):123456789@qq.com密码(QQ邮箱):这个密码是邮箱的授权码(并不是邮箱密码)地址收

2020-09-24 09:23:36

ETL工具kettle的性能优化

性能调优在整个项目中尤为重要。对于初级开发人员往往都不知道如何对性能进行调优。其实性能调优主要分为两个方面:一方面是硬件方面的调优,一方面是软件方面的调优。本文章主要介绍Kettle方面的性能调优以及效率的提升。一、Kettle性能调优1. commit size表输出的提交记录数量(默认1000),具体根据数量大小来修改。修改前速度(7447/s):修改后(7992/s):2. 数据库连接调参基于上层优化方案继续调优useServerPrepStmts=falserewriteBatc

2020-09-23 16:56:13

MySQL8.0窗口函数

窗口函数简介MySQL被Orcale收购了之后,MySQL8.0继承了Orcale的窗口函数(又称:开窗函数),这个功能在大多商业数据库如Orcale和PostgreSQL中早已支持。MySQL的窗口函数也称为OLAP函数,OLAP是Online Analytical Processing的简称,意思是对数据库进行实时分析处理,也叫分析函数。窗口函数与聚合函数的区别聚合函数是将多条记录聚合为一条,而窗口函数是每条记录都会执行,有几条记录执行完还是几条。聚合函数也可以用于窗口函数中。creat

2020-08-30 18:41:11

MySQL中handler_read的用法

概述MySQL有一个神秘的HANDLER命令,此命令非SQL标准语法,可以降低优化器对于SQL语句的解析与优化开销,从而提升查询性能。步骤# 1. 更新会话FLUSH STATUS;# 2. 执行一段SQL语句SELECT * FROM CAR WHERE CAR_BRANK LIKE "别克%" ORDER BY ID DESC LIMIT 10;# 3.1 查看当前会话SHOW SESSION STATUS LIKE "handler_read%";# 3.2 查看全局会话SHOW

2020-08-23 20:05:19

MySQL优化工具之Show profiles分析SQL性能

使用show profiles分析SQL性能分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL刨析。该参数开启后,后续执行的SQL语句都将记录其资源开销,例如IO、上下文切换、CPU、Memory等等。根据这些开销进一步分析SQL瓶颈从而进行优化与调整。方法/步骤show profiles是5.0.37之后添加的,如果想使用此功能,确保版本在5.0.37之后。查看数据库版本SELECT VERSION()查看是否打开pro

2020-08-22 17:20:48

数据仓库中的星型模型与雪花模型

数据仓库模型分析在数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构。下面我们先来理解两种模型的概念。星型模型图如下:星型模型:是一种使用关系型数据库实现多维度分析空间的模式,用星型模型可以通过关系数据库来模拟OLAP模式,使用关系数据库+星型模型能够优化存储并且保持数据结构的灵活性。星型模型由一个事实表和一组维表组成。每个维表都有一个维作为主键,所有这些维表的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事实表,形成一个宽表。宽表一般是事实表,包含.

2020-08-08 15:30:11

数据仓库的理解

一、 什么是数据仓库?数据仓库(Data Warehouse)简称 DW 或 DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计上的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集, 从逻辑上讲数据仓库和数据库没有什么区别的。二、 数据仓库的特点1. 面向主题主题是与传统数据库的面向应用相对应的,是一个抽象概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。每一个主题对应一个宏观的分析领域。在逻辑意义上,他是对应企业中某一宏观分析领域所设计到的分析对象.

2020-08-03 22:32:57

分区表的使用场景有哪些?

分区表1. 什么场景的数据需要分区表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均为历史数据。分区表的数据更加容易维护。例如,想批量删除大量数据可以使用清除整个分区的方式。还可以对一个独立分区进行优化、检查、修复等操作。分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备。可以使用分区表来避免某些特殊的瓶颈,例如InnoDB的单个索引互斥访问。如果需要,还可以备份和恢复独立的分区,这在非常大的数据集的场景下效果极好。2. 分区的限制一个表最多只

2020-07-09 12:13:52

一条SQL语句如何优化

SQL优化伴我成长很多面试官会问道:给你一条SQL语句如何优化?直观来看:1. 避免使用 SELECT * FROM TABLE,用具体的列替换,避免全表扫描。2. WHERE子句使用 IN或 NOT IN的优化# 示例1SELECT * FROM XIAOCHEN WHERE COMPANY_NAME IN ( SELECT D.COMPANY_NAME FROM ( SELECT COMPANY_NAME FROM XIAOCHEN ORDER BY ID DESC LIMIT 10 )

2020-07-07 23:20:39

rank() over,dense_rank() over,row_number() over的区别

rank() over,dense_rank() over,row_number() over的区别LeetCode.178题解(https://leetcode-cn.com/problems/rank-scores/):编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。IdScore13.5023.6534.0043.85

2020-07-06 22:24:47

MySQL优化

MySQL优化主要体现在几个方面设计:存储引擎,字段选择,范式与反范式功能:索引,缓存,分区分表架构:主从复制,读写分离,负载均衡设计方面一、存储引擎MySQL >= 5.5 版本默认的存储引擎是InnoDB。InnoDB的数据存储在表空间内,由一系列数据文件组成。InnoDB采用多版本控制机制(MVCC)来支持高并发,并且实现了四个隔离级别。其默认隔离级别为REPETABLE READ(可重复读),并且通过间隙锁策略防止幻读(读未提交)的出现。InnoDB是基于聚簇索引建立的

2020-05-20 23:42:37

B-Tree索引与hash索引的区别

索引的优点:索引大大减少了服务器需要扫描的数据量。索引可以帮助服务器避免排序和临时表。索引可以将随机 I / O变为顺序 I / OB-tree索引B-tree索引的优点:B-tree索引通常意味着所有的值都是按着顺序存储的,并且每一个叶子页到根的距离相同。B-tree索引能够加快访问数据的存储,因为索引的存储引擎不再需要进行全表扫描来获取需要的数据。B-tree对索引列是顺序组织存储的,索引很适合进行范围查找。B-tree索引适用于全键值、键值范围或前缀查找。匹配规则.

2020-05-19 23:24:08

MySQL行转列与列转行,存储过程动态行转列

一、创建表插入一些示例数据create table score( id bigint(20) auto_increment, sname varchar(255) comment "学生姓名", cname varchar(255) comment "课程名称", score int(11) comment "分数", primary key(id))engine=innodb;...

2020-05-05 15:11:46

MySQL查询重复数据与去重

MySQL查询重复数据并删除重复数据一、创建表,插入一批示例数据create table student( id bigint(20) auto_increment, code int(20), name varchar(255), flag int(2), primary key(id))engine=innodb;insert into student values(1,...

2020-05-04 14:36:11

深入浅出索引(上)

一、添加索引create table T (ID int primary key,k int NOT NULL DEFAULT 0, s varchar(16) NOT NULL DEFAULT '',index k(k))engine=InnoDB;insert into T values(100,1, 'aa'),(200,2,'bb'),(300,3,'cc'),(500,5...

2020-04-09 23:04:23

一条简单的SQL语句

深入浅出索引(上)一、唠叨几句二、聚簇索引三、B+树一、唠叨几句某个群里发现的一个问题:表t的id字段是主键索引时,select * from t where id=1 与 select * from t where id=10000000的区别,直观看过去应该是前者的速度比后者快一点,为了验证我的想法,马上去一个上亿量数据的表里去查询了一番。果不其然,一个0.00008s,一个0.0010...

2020-04-08 23:06:20

Xpath的使用

Xpath的使用以及进阶一、xpath介绍二 、xpath简单语法XML 实例文档三 、xpath高级进阶一、xpath介绍XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准...

2019-04-20 11:34:36
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。