
db dw
文章平均质量分 53
bitcarmanlee
这个作者很懒,什么都没留下…
展开
-
sql group by 1, 2
作为算法工程师,天天跟数据打交道是避免不了的,sql也是日常工具。某天运营的同学丢给我一个sql,发现sql语句里面有group by 1,2 这种写法。作为一个老鸟,之前确实没见过大家用group by 1,2这种用法,都是group by 字段1,字段2这种写法,比较清晰。因此特意去查了一下sql的相关语法,group by 1,2这种写法是没有问题的,group by / order by 后面跟数字,表示select 后面选择的字段,1 代表第一个字段,2代表第二个字段,以此类推。原创 2023-03-27 11:31:21 · 2124 阅读 · 1 评论 -
数据库的星型模型与雪花模型
星型模式模型可以被描述为一个简单的星型结构:一个中心表包含事实数据,多个表从它向外辐射,由数据库的主键和外键连接。在星型模式实施中,数据库的构建者将所有维度级别的维度数据存储在单个表或视图中。例如,如果您使用星型模式实现Product维度,那么数据库构建者将使用单个表来实现维度中的所有级别,如屏幕截图所示。所有级别中的属性都映射到名为PRODUCT的单个表中的不同列。(图片来自参考文献1)雪花模式表示一个维度模型,它也由一个中心事实表和一组构成维度表组成,这些维度表进一步规范化为子维度表。...原创 2022-08-29 15:07:40 · 6493 阅读 · 0 评论 -
count(distinct) 与group by 浅析
在传统关系型数据库中,group by与count(distinct)都是很常见的操作。count(distinct colA)就是将colA中所有出现过的不同值取出来,相信只要接触过数据库的同学都能明白什么意思。count(distinct colA)的操作也可以用group by的方式完成,具体代码如下:select count(distinct colA) from table1;selec原创 2016-04-29 12:43:19 · 35082 阅读 · 5 评论 -
mysql 修改root密码 修改账户登录host
1.忘了root密码远程服务器起了一个mysql服务,里有个hive账户,在远程服务器能通过命令行用mysql -hlocalhost -uxxx -pxxx的方式登录,但是用navicat客户端,怎么也登录不上,而且navicat显示的还是我自己机器的ip地址。初步怀疑,是mysql里的A账户密码没有设置正确。于是需要用root账号对hive账户重新进行设置。坑爹的是,mysql也不是我布的。而且原创 2016-07-25 16:50:34 · 10203 阅读 · 0 评论 -
SQL操作结果集-并集,差集,交集,结果集排序
算法大数据qq交流群:397173819 经常需要对一些结果集进行诸如求并集,交集等操作。在网上看到一些不错的资料,特意转载过来。为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物。 表:Person_1魏国人物 表:Person_2蜀国人物 1.Union求并集Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集转载 2016-06-20 18:50:38 · 11319 阅读 · 0 评论 -
SqlServer Convert函数 日期格式化
1.convert函数的作用sql中最常用的数据类型就是各种时间了。实际使用的时候,我们经常需要将各种时间转化为其他新的数据类型。这个时候就是轮到convert函数显示威力了。 convert() 函数是把日期转换为新数据类型的通用函数,同时,convert()函数可以用不同的格式显示时间或日期数据。2.convert函数的语法CONVERT(data_type(length),data_to_b原创 2016-07-18 19:53:42 · 8840 阅读 · 2 评论 -
ETL调优的一些分享
原来链接地址:http://www.transwarp.cn/news/detail?id=173ETL是构建数据仓库的重要一环。通过该过程用户将所需数据提取出来,并按照已定义的模型导入数据仓库。由于ETL是建立数据仓库的必经过程,它的效率将影响整个数据仓库的构建,因此它的有效调优具有很高的重要性。在实际应用中我们通常建议把ETL业务的调优分为若干思路,从而保证调优充分有序进行,避免遗漏,最大化提升转载 2017-03-11 22:14:14 · 4611 阅读 · 1 评论 -
mysql 优化 整体思路
sql优化的整体思路,根据博主一些浅薄的经验已经网上的资料,总结如下: 1.选择合适的存储引擎。 2.优化sql与索引。因为一条sql引起的血案,网上的案例很多,不再多说。 3.加缓存。大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操原创 2016-05-05 20:27:17 · 1704 阅读 · 0 评论 -
Mysql修改字段与修改表操作
当我们需要针对mysql的表名或者字段名需要修改的时候,这个时候就需要用到mysql的alter命令。 为了方便起见,首先我们新建一张用户表。create table user(`id` INT NOT NULL AUTO_INCREMENT,`court_id` INT NOT NULL DEFAULT 1,`user_id` INT NOT NULL DEFAULT 0,PR...原创 2018-06-05 15:38:18 · 18245 阅读 · 0 评论 -
BrightHouse存储引擎
mysql支持多种存储引擎存储。这样,在处理不同类型数据的时候,可以针对不同业务场景,提供更为高效,灵活的方式。mysql常见的存储引擎包括:MyISAM,InnoDB(最为常用的两种),MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE等。现在大数据环境下,一般都使用hive作离线查询,hue则是hi原创 2016-04-28 18:40:29 · 2592 阅读 · 0 评论 -
MySql explain命令详解
一.语法explain < table_name >例如: explain select * from t3 where id=3952602;二.explain输出解释+—-+————-+——-+——-+——————-+———+———+——-+——+——-+ | id | select_type | table | type | possible_keys | key | ke转载 2016-04-12 14:36:35 · 613 阅读 · 0 评论 -
sql语句查询执行顺序
sql查询语句的处理步骤如下:--查询组合字段(5)select (5-2) distinct(5-3) top(<top_specification>)(5-1)<select_list>--连表(1)from (1-J)<left_table><join_type> join <right_table> on <on_predicate> (1-A)<left_table>转载 2016-03-29 12:12:19 · 36050 阅读 · 5 评论 -
ODS与EDW的区别
根据自己的理解与实际项目经验,说说ODS与EDW的异同。如果有不对的地方,欢迎大家批评指正。维基百科对于ODS的定义为”An operational data store (or “ODS”) is a database designed to integrate data from multiple sources for additional operations on the data. Un原创 2016-03-30 13:00:09 · 27598 阅读 · 2 评论 -
数据库事务ACID
ACID,是指数据库管理系统(DBMS)在写入/更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。在数据库系统中,一个事务是指:由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除原创 2016-03-25 16:54:24 · 700 阅读 · 0 评论 -
MySql索引原理及慢查询优化
本文转载自美团点评技术团队 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题转载 2016-04-12 10:03:53 · 909 阅读 · 0 评论 -
oracle 游标详解
游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据。将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据,当前行的某些字段等。在大多数时候我们在设计程序的时候都遵循下面的步骤: 1、打开游标 2、开始循环 3、从游标中取值 4、检查那一行被返回 5、处理 6、关闭循环 7、关闭游标 DECLARE –定义记录类型的变量原创 2016-04-08 21:51:17 · 536 阅读 · 0 评论 -
oracle type rowtype详解
1. 使用%TYPE在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量:DECLAREv_FirstName VARCHAR2(20);但是如果first_name列的定义改变了会发生什么(比如说表改变了,first_name现在转载 2016-04-08 21:57:59 · 1767 阅读 · 0 评论 -
distinct 多列详解
1.distinct 单列select distinct(a) from tableA;这个比较简单,没什么可说的。2.distinct多列select distinct a,b,c from tableA;注意此时是将a,b,c三列所有不同的组合全部列出来,而不仅仅只是distinct a 相当于以下语句: select a,b,c from tableA group by a,b,c3.另外一原创 2016-04-08 22:09:41 · 82120 阅读 · 4 评论 -
oracle instr函数 判断字段中是否有换行符
在oracle中:chr(9) 表示水平制表符chr(10)表示换行键chr(13)表示回车键判断字段中是否有换行符写法selecthotel_namefromDW_HOTELORDER_FWHEREinstr(HOTEL_NAME,chr(10))>0andROWNUMtips:1.注意网上不少文章写的是chr(13),经过实测chr(原创 2016-03-18 17:31:10 · 6690 阅读 · 0 评论 -
OLTP与OLAP的区别
OLTP和OLAP的区别联机事务处理OLTP(on-line transaction processing) 主要是执行基本日常的事务处理,比如数据库记录的增删查改。比如在银行的一笔交易记录,就是一个典型的事务。 OLTP的特点一般有: 1.实时性要求高。我记得之前上大学的时候,银行异地汇款,要隔天才能到账,而现在是分分钟到账的节奏,说明现在银行的实时处理能力大大增强。 2.数据量不是很大,生原创 2016-03-30 10:00:05 · 63228 阅读 · 2 评论