十八般武艺玩转GaussDB(DWS)性能调优:路径干预

摘要:路径生成是表关联方式确定的主要阶段,本文介绍了几个影响路径生成的要素:cost_param, scan方式,join方式,stream方式,并从原理上分析如何干预路径的生成。 一、cost模型选择 顾名思义,cost_param是控制cost相关的一个参数。在了解cost_param之前,先回 ... »

九个最容易出错的 Hive sql 详解及使用注意事项

阅读本文小建议:本文适合细嚼慢咽,不要一目十行,不然会错过很多有价值的细节。 文章首发于公众号:五分钟学大数据 前言 在进行数仓搭建和数据分析时最常用的就是 sql,其语法简洁明了,易于理解,目前大数据领域的几大主流框架全部都支持sql语法,包括 hive,spark,flink等,所以sql在大数 ... »

十八般武艺玩转GaussDB(DWS)性能调优:SQL改写

摘要:本文将系统介绍在GaussDB(DWS)系统中影响性能的坏味道SQL及SQL模式,帮助大家能够从原理层面尽快识别这些坏味道SQL,在调优过程中及时发现问题,进行整改。 数据库的应用中,充斥着坏味道的SQL,非常影响查询的性能。坏味道SQL,即由于开发者写的随意,导致执行性能较差,需要通过优化S ... »

10年前,我就用 SQL注入漏洞黑了学校网站

我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 标题有点臭不要脸,有标题党之嫌了,没有黑,只是网站安全性做的太差,我一个初学者随便就搞到了管 ... »

MySQL查询区分大小写敏感问题

由于mysql是不区分大小写的,所以当你查询的时候,例如数据库里有条数据用户名为UpYou(用户名唯一),当你输入:upyou时发现也可以查询,在某些需求下这样是不允许的,可以在查询语句中加入binary关键字过滤,例如 select id, username, password, type, cr ... »

MySQL为Null会导致5个问题,个个致命!

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示: “兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。 -- 如果存在 person 表先删除 DROP TABLE IF EXISTS person; -- 创建 person 表,其中 ... »

仅4步,就可通过SQL进行分布式死锁的检测与消除

摘要:本文主要介绍在 GaussDB(DWS) 中,如何通过 SQL 语句,对分布式死锁进行检测和恢复。 分布式数仓应用场景中,我们经常遇到数据库系统 hang 住的问题,所谓 hang 是指虽然数据库系统还在运行,但部分或全部业务无法正常执行。hang 问题的原因有很多,其中以分布式死锁最为常见, ... »

腾讯开源 APIJSON 连创五个第一

腾讯第一个码云推荐项目,// 其它最早创建的是 TencentOS-tiny(码云) 2019.8.23 腾讯第一个码云GVP项目,// 其它最早创建的是 TencentOS-tiny(码云) 2019.8.23 腾讯码云官方所有项目中Star第一,// 其它最高是 TencentOS-tiny(码 ... »

《SQL 必知必会》建表语句

本博客主要整理《MySQL必知必会》中常用的SQL语句。 建表语句 本博客中的SQL全都依赖于下面表结构。 ######################################## # MySQL Crash Course # http://www.forta.com/books/06723 ... »

忘记MySQL密码怎么办?一招教你搞定!

在安装完 MySQL 或者是在使用 MySQL 时,最尴尬的就是忘记密码了,墨菲定律也告诉我们,如果一件事有可能出错,那么它一定会出错。那如果我们不小心忘记了 MySQL 的密码,该如何处理呢?别着急,本文教你一招搞定。 1.修改 MySQL 配置文件 首先我们需要打开 MySQL 的配置文件,如果 ... »

你不知道的MySQL,以及MariaDB初体验

MySQL 是一个跨世纪的伟大产品,它最早诞生于 1979 年,距今已经有 40 多年的历史了,而如今比较主流的 Java 语言也只是 1991 年才诞生的,也就是说 MySQL 要比 Java 的诞生还早十几年,不得不惊叹二者强大的生命力。 MySQL 的应用十分广泛,像 Google、Taoba ... »

简单语法解析器实现参考

有时候,我们为了屏蔽一些底层的差异,我们会要求上游系统按照某种约定进行传参。而在我们自己的系统层则会按照具体的底层协议进行适配,这是通用的做法。但当我们要求上游系统传入的参数非常复杂时,也许我们会有一套自己的语法定义,用以减轻所有参数的不停变化。比如sql协议,就是一个一级棒的语法,同样是调用底层功 ... »

如何克服严重的拖延症?

中国社科院的一项调查显示,中国有80%的大学生和86%的职场人都患有拖延症。50%的人不到最后一刻,绝不开始工作。13%的人没有人催,不能完成工作。 人们奉行着“截止日期“ 是第一生产力”的信条,在大好时光且工作且拖延,等到最后关头再不吃不睡完成KPI。 不得不承认,截止日期是非常伟大的发明,如果没 ... »

SQL之DDL、DML、DCL、TCL

SQL SQL(structured query language)是一种领域特定语言(DSL,domain-specific language),用于管理关系型数据库(relational database management system,RDBMS)。 SQL主要有4种类别 DDL Data ... »

NoSQL和SQL怎么选用?

NoSQL 有分很多种,其中key-value NoSQL (Redis, MemcacheD, etc) 的选用相对比较清楚些,大多是当后端Data storage的cache层来用。这篇主要想请教Column Family NoSQL (e.g. Cassandra, Hbase) 和SQL之间 ... »

mysql标识列和事务

1 #标识列 2 /* 3 又称为自增长列 4 含义:可以不用手动的插入值,系统提供默认的序列值 5 6 7 特点: 8 1、标识列必须和主键搭配吗?不一定,但要求是一个key 9 2、一个表可以有几个标识列?至多一个! 10 3、标识列的类型只能是数值型 11 4、标识列可以通过 SET auto ... »

mysql中常见约束

1 #常见约束 2 3 /* 4 5 6 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性 7 8 9 分类:六大约束 10 NOT NULL:非空,用于保证该字段的值不能为空 11 比如姓名、学号等 12 DEFAULT:默认,用于保证该字段有默认值 13 比如性别 14 PR ... »

mysql常见数据类型

1 #常见的数据类型 2 /* 3 数值型: 4 整型 5 小数: 6 定点数 7 浮点数 8 字符型: 9 较短的文本:char、varchar 10 较长的文本:text、blob(较长的二进制数据) 11 12 日期型: 13 14 15 16 */ 17 18 #一、整型 19 /* 20 ... »

mysql中DDL库和表的管理

1 #DDL 2 /* 3 数据定义语言 4 5 库和表的管理 6 7 一、库的管理 8 创建、修改、删除 9 二、表的管理 10 创建、修改、删除 11 12 创建:create 13 修改:alter 14 删除:drop 15 */ 16 17 #一、库的管理 18 #1、库的创建 19 /* ... »