计算&AI •
902 引用 •
973 回帖 •
449 关注
博客
关注
-
对于已经序号化的维表,可以利用对位序列来处理维表上的过滤。 原理:产生一个与维表同样长度的序列,其成员是布尔值,满足条件的维表记录对应 true,否则对应 false。然后在事实表中用已经序号 ..
-
[链接]4.5.1 过滤后复用索引 SQL SELECT Suppliers.Region,sum(Amount) Amount FROM Orders LEFT JOIN Products ..
-
主键是自然数序号的维表,可以直接用序号定位实现关联,不必建索引,避免计算和比对 HASH 值,性能更好。 主键不是自然数序号的维表,可以事先转换成序号。同时把事实表中的对应维字段值也转换成相应 ..
-
前面的例子均使用 switch 做维表的关联,能获得很好的性能,但还有几个问题: 1) 关联后,外键字段的本身值失去了,必须到维表中取主键才能获得,速度会变慢。 如上例:如果还想取得 Empl ..
-
[链接]4.1.1 单层维表 SQL SELECT Employees.Region,sum(Orders.Amount) FROM Orders LEFT JOIN Employees ON ..
-
按月统计出当月发生过连续三天都有订单的用户数 SQL WITH a AS( SELECT count (1) AS num, day (OrderDate) days, CustomerID, ..
-
SQL WITH m AS( SELECT *, row_number() OVER(PARTITION BY year(OrderDate),month(OrderDate) ORDER B ..
-
SQL SELECT count (DISTINCT CustomerID) num,year(OrderDate) years, month(OrderDate) months FROM O ..
-
问题背景 发电设备中常常会放置传感器(DCS)来采集数据以监控设备运转的状况,某集团设计的电力监控统计系统,需要实时采集传感器的数据后保存,然后提供按时段的实时查询统计功能。 系统设计规模将支 ..
-
SQL SELECT count (DISTINCT CustomerID) iNum,count(1) Num FROM Orders WHERE OrderDate>='2021-0 ..
-
SQL SELECT DISTINCT month(OrderDate) FROM Orders WHERE OrderDate>='2021-01-01' and OrderDate& ..
-
按 CustomerID 排序后,可以快速实现针对 CustomerID 的去重和分组运算,遍历过程中只需要和上一条记录对比即可,也不需要保留结果集,速度快且不会有内存溢出问题。 [链接]3. ..
-
[链接]3.2.1 集文件 SQL SELECT count (DISTINCT CustomerID) iNum,count(1) Num,EmployeeID,EmployeeName F ..
-
一般业务数据都有发生时间属性,当时间跨度比较长时,查询统计往往需要先按时间段过滤。数据以时间有序存储时可以提升过滤速度。 [链接]3.1.1 集文件 存量数据:将数据读出时按时间排序,然后写入 ..
-
SQL SELECT EmployeeID, EmployeeName,sum(Amount) AS Amount FROM Orders WHERE OrderDate>='2022- ..
-
查询今年每个月金额最大的三个订单 SQL WITH m AS( SELECT *,rank() OVER(PARTITION BY year(OrderDate),month(OrderDat ..
-
查询今年每个月金额最大的三个订单的订单额 SQL WITH m AS( SELECT year(OrderDate) years, month(OrderDate) months, Amoun ..
-
选出金额最大的订单 SQL WITH m AS ( SELECT max(Amount) mta FROM Orders WHERE OrderDate>='2022-01-01') S ..
-
查询单次购买数量超过 5 的产品及其价格、单位 SQL SELECT DISTINCT ProductID,Price,Unit FROM Orders WHERE Quantity>= ..
-
按月统计下单的客户数量 SQL SELECT count(DISTINCT CustomerID) num,year(OrderDate) years, month(OrderDate) mo ..
-
将取值可能有限的枚举字符串转换成整数后可以获得更好的存储和计算性能。 [链接]1.4.1 转储时转换 将枚举字段用取值序列的序号代替,这里以 ShipVia 举例 A 1 =file(“Shi ..
-
将日期转换成小整数后能获得更好的存储和计算性能。 [链接]1.3.1 转储时转换 SPL 提供了一种很省空间的方法,用 days@o(date) 把年月转换成距离 1970 年起的月数,而日用 ..
-
1.1.1 把数据转储到集文件 文本转储 A 1 =file(“Orders.txt”).cursor@t(CustomerID:string, OrderDate:datetime, Pro ..
-
[链接]任务背景 国际大环境就不用多说了。 对于数据库类的关键业务,全国产技术(国产 CPU+ 国产数据库)和国外主流技术在性能上相比还有不小的差距,经常需要借助分布式技术使用数倍的硬件才能获 ..
-
问题提出 工业生产活动的目标是利用原料生产产品,从而产生利润。原料经过一系列加工过程,包括物理反应和化学反应,最终形成产品,生产的理想状态是原料到产品的转换率是确定的,工厂想生产多少产品就知道 ..