sql代码
隔壁老登
我太想进步了……
展开
-
获取业务库的schema信息导出成数据字典
场景:需要获取业务库的schema信息导出成数据字典,以下为获取oracle与mysql数据库的schema信息语句。获取业务库的schema信息导出成数据字典。原创 2024-09-10 19:21:10 · 260 阅读 · 0 评论 -
数据库行存表与列存表的差异
列存:统计分析类查询 (关联、分组操作较多的场景),如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。选择(Select)时即使只涉及某几列,所有数据也都会被读取。一.定义:行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行存:适用增、删、改操作较多的场景,如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。列存:INSERT/UPDATE比较麻烦,查询时只有涉及到的列会被读取,任何列都能作为索引。原创 2024-09-03 21:15:07 · 444 阅读 · 0 评论 -
sql92语句与sql99语法的区别
场景:测试sql92语句与sql99语法的区别。第一类:inner join。第二类:left join。原创 2024-09-03 21:05:14 · 474 阅读 · 0 评论 -
sql日期函数统计日月年订单数
场景:汇集日月年的订单数,分别在mysql和oracle数据库实现相同的效果。原创 2024-05-21 20:41:56 · 425 阅读 · 0 评论 -
hive建表使用不同的存储格式测试
场景:hive常见的格式有TextFile,SequenceFile,ORC,Parquet,RCFile等。示例:分别建5张表,为以上5种存储格式,并分别往里写入1000万条数据,查看其各自占用的存储空间。原创 2024-05-16 20:22:38 · 623 阅读 · 0 评论 -
hive动态分区
在insert语句中, 动态分区的字段必须放在select语句的末尾,hive会根据这个字段的值来创建分区目录。hive动态分区概念:允许插入数据到分区表时,根据插入的数据内容自动创建相应的分区。1.启用动态分区功能。原创 2024-05-15 22:23:40 · 444 阅读 · 0 评论 -
高斯数据库创建存储过程
并且OUT和INOUT模式的参数不能用在RETURNS TABLE的过程定义中。argument_name和argmode的顺序没有严格要求,推荐按照argument_name、argmode、argument_type的顺序使用。当在存储过程体中进行创建用户等涉及用户密码相关操作时,系统表及csv日志中会记录密码的明文。取值范围:字符串,要符合标识符的命名规范。取值范围:字符串,要符合标识符的命名规范。当存在同名的存储过程时,替换原来的定义。创建的存储过程名字,可以带有模式名。取值范围:可用的数据类型。原创 2024-05-13 21:23:03 · 1179 阅读 · 1 评论 -
高斯数据库创建函数的语法
该函数只对用户定义的C函数生效,声明函数是在保护模式还是非保护模式下执行。如果函数声明为FENCED模式,则函数在新fork的进程执行,这样函数的异常不会影响CN或者DN进程。link_symbol指定了该函数的链接符号,也就是该函数在C代码中的函数名称。表示该函数不能修改数据库,对相同参数值,在同一次表扫描里,该函数的返回值不变,但是返回值可能在不同SQL语句之间变化。◾对于STABLE/VOLATILE类型的函数,仅当函数的属性是SHIPPABLE的时候,函数可以下推到DN执行。原创 2024-05-11 21:08:47 · 1504 阅读 · 0 评论 -
explain分析sql执行计划
若指定了ANALYZE选项,则该语句会被执行,然后根据实际的运行结果显示统计数据,包括每个计划节点内时间总开销(毫秒为单位)和实际返回的总行数。这对于判断计划生成器的估计是否接近现实非常有用。执行计划将显示SQL语句所引用的表会采用什么样的扫描方式,如:简单的顺序扫描、索引扫描等。如果引用了多个表,执行计划还会显示用到的JOIN算法。执行计划的最关键的部分是语句的预计执行开销,这是计划生成器估算执行该语句将花费多长的时间。显示SQL语句的执行计划。explain功能描述。原创 2024-05-10 20:58:00 · 267 阅读 · 0 评论 -
高斯行存表与列存表的区别
2.通过shell脚本批量查询对应的建表语句,orientation=column 过滤列存表(脚本略)行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行、列存储模型各有优劣,建议根据实际情况选择。选择(Selection)时即使只涉及某几列,所有数据也都会被读取。1.没有找到系统表或视图有保存行存,列存信息的(略)•投影(Projection)很高效。•选择完成时,被选择的列要重新组装。•查询时只有涉及到的列会被读取。•任何列都能作为索引。原创 2024-05-08 20:53:30 · 606 阅读 · 0 评论 -
高斯数据库自定义函数
需求:自定义一个myUpper函数实现系统函数upper的效果。原创 2024-05-08 20:49:18 · 330 阅读 · 0 评论 -
oracle中merge into的使用
通过MERGE INTO语句,将目标表和源表中数据针对关联条件进行匹配,若关联条件匹配时对目标表进行UPDATE,无法匹配时对目标表执行INSERT。进行MERGE INTO操作的用户需要同时拥有目标表的UPDATE和INSERT权限,以及源表的SELECT权限。此语法可以很方便地用来合并执行UPDATE和INSERT,避免多次执行。原创 2024-05-04 15:31:31 · 491 阅读 · 0 评论 -
sql中开窗函数的使用
•通过查询筛选出的行的某些部分,窗口调用函数实现了类似于聚集函数的功能,所以聚集函数也可以作为窗口函数使用。窗口函数可以扫描所有的行,根据窗口函数的PARTITION BY选项将查询的行分为一组。•列存表目前只支持窗口函数rank(expression)和row_number(expression),以及聚集函数的sum,count,avg,min和max,而行存表没有限制。•窗口函数中的order by后面必须跟字段名,若order by后面跟数字,该数字会被按照常量处理,对目标列没有起到排序的作用。原创 2024-04-26 21:20:45 · 592 阅读 · 0 评论 -
批量修改存储过程
需求:有50个高斯存储过程需要做变更,如果单个放到data studio去执行太麻烦,通过脚本来做会更简便测试:创建2个存储过程proc1.sqlproc2.sql/bin/bash。原创 2024-04-08 21:24:08 · 223 阅读 · 0 评论 -
如何在mysql中生成类似oracle中的rownum行号?
需求:使用sqoop从mysql抽数,由于表数据量比较大,超过1亿条,需要使用类似oracle自带的rownum字段来做切分,第二种方式:使用row_number窗口函数来生成行号(Mysql8.0版本)mysql没有自带的rownum字段。第一种方式:使用自定义变量来生成行号。原创 2024-04-01 21:34:28 · 649 阅读 · 0 评论 -
hbase和phoenix相关操作
因此,当在 Phoenix 中执行删除表操作时,不仅会删除 Phoenix 元数据中关于该表的定义,还会删除 HBase 中实际存储该表数据的 HBase 表。在Apache Phoenix中,直接修改字段名称的功能是受限的,因为Phoenix构建在HBase之上,而HBase不直接支持修改列名。三.phoenix与hbase的映射,只能映射hbase default空间下的表,且表名需要保持一致。当你通过 Apache Phoenix 删除一个表时,它会连同 HBase 中的对应表一起删除。原创 2024-03-18 21:24:33 · 316 阅读 · 0 评论 -
sql中in与exists写法的区别?
在gaussdb中建测试表如下:以下2种写法等价:1 one1 one2 two2 two。原创 2024-02-27 20:17:23 · 116 阅读 · 0 评论 -
hive部分总结
Hive部分退出cli:ctrl+C查看hdfs:dfs -ls /查看本地:! ls /查看历史命令:cd /root 或者 cd /home/data cat .hivehistory强制删除数据库:drop databases db_hive cascade;建表语句:create [external] table [if not exists] table_name(col type comment ‘’)comment ‘’partitioned by (col type原创 2022-03-06 10:05:34 · 2011 阅读 · 0 评论 -
sql实践-某项目场景字段优化
sql实践-某项目场景字段优化test_src表有一个场景scene字段,通过该字段可以对各个场景做区分。需要做二级分区表:全场景scene=‘app’(包含所有场景数据),每日推荐场景scene=‘daily’(仅包含每日推荐场景数据)。源表:temp.test_srcuser_id 用户iditem_id 商品idaction 用户行为scene 场景名目标表:temp.test_scene一. 优化前:建表语句:create external if not exists tabl原创 2022-03-05 10:23:12 · 130 阅读 · 0 评论