
USE [lysk2] GO /****** Object: StoredProcedure [dbo].[P_EvacuateNodes] Script Date: 2023/11/30 8:25:41 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[P_EvacuateNodes] @node int = 999 as begin truncate table CalStartTab; EXEC P_CalculateStartProc @node; truncate table CalEndTab; EXEC P_CalculateEndProc @node; truncate table EvacEvenNodesTab; insert into EvacEvenNodesTab SELECT tp.* FROM ( SELECT TOP 100 PERCENT ROW_NUMBER() OVER ( partition BY ddid ORDER BY wtime ) AS rowNum, sid, tid, ygid, wtime, ddid FROM WFRecord WHERE id IN ( SELECT id FROM WFRecord wf INNER JOIN CalStartTab s ON wf.ddid = s.ddid INNER JOIN CalEndTab e ON wf.ddid = e.ddid WHERE ( sid = @node OR tid = @node ) AND wtime >= s.minTime AND wtime <= e.maxTime GROUP BY wf.ddid, wf.id ) ORDER BY wtime ) tp WHERE tp.rowNum % 2 = 0 truncate table EvacOddNodesTab; insert into EvacOddNodesTab SELECT tp.* FROM ( SELECT TOP 100 PERCENT ROW_NUMBER() OVER ( partition BY ddid ORDER BY wtime ) AS rowNum, sid, tid, ygid, wtime, ddid FROM WFRecord WHERE id IN ( SELECT id FROM WFRecord wf INNER JOIN CalStartTab s ON wf.ddid = s.ddid INNER JOIN CalEndTab e ON wf.ddid = e.ddid WHERE ( sid = @node OR tid = @node ) AND wtime >= s.minTime AND wtime <= e.maxTime GROUP BY wf.ddid, wf.id ) ORDER BY wtime ) tp WHERE tp.rowNum % 2 = 1 end 突然翻到之前自己写的存储过程 现在看看都是头皮发麻 公司框架用的还是 .Net Framework 4.5
直接用 CYQ.Data 和数据库交互 sql 中 order by 还失效 必须先查询加载到内存后再排序
之前一直用的是 EF 或者 EF Core 也用过 SqlSugar 这样的第三方框架

1 ZGame 2024 年 3 月 15 日 SqlSugar 挺好用的,存储过程更像调用别人写的方法,适合交付和程序对接使用吧。 |
2 Braisdom 2024 年 3 月 15 日 现在已经很少有人用 ORM 了, 1 )我总曾经的开源项目: https://github.com/braisdom/ObjectiveSql 已经好久没更新了, 2 )我现在的商业化项目: https://www.agiquery.com 已经不用写 SQL 了哈哈 |
5 matrix1010 2024 年 3 月 15 日 via iPhone @Braisdom 你的项目不更新就代表很少有人用 ORM? |
7 Removable 2024 年 3 月 15 日 @matrix1010 #5 要创业嘛,不说点夸张的话,怎么能吸引到使用者呢 (狗头 |
8 Braisdom 2024 年 3 月 15 日 @matrix1010 当然不是了,我自己用了很多年的 ORM ,ORM 只能解决很少的问题,可能适用少部分项目,我做的大都数项目都不用 SQL 型数据库了,所以 ORM 也就更用不上了。 目前,系统数据库我都不会先 SQL 型数据库,只有在数据分析行业才会有 SQL 型数据库,但数据分析型项目,ORM 解决的问题太少了,大都数都是手写 SQL 。 所以,我才会做 Agile Query 项目,它自身的数据存储不是 SQL 型数据库,ORM 也就没用了。 |
9 Braisdom 2024 年 3 月 15 日 @heyline 和 cube.js 最核心的区别是:Agile Query 做数据分析不需要关心 JOIN ,还有很多领域分析函数,像:同环比,占比,分类等。 |
11 Braisdom 2024 年 3 月 15 日 @perbugwei 不是数据支撑,当你项目做过了以后就会感觉,系统数据用 SQL 型数据库存储,会使代码很复杂,现在很多非 SQL 型数据库,对编程很友好的,建议试试。 |
12 ericguo 2024 年 3 月 15 日 现在软广的水平已经那么高了么? |
14 Braisdom 2024 年 3 月 15 日 @perbugwei 我现在用的是 arangodb , 主要是支持 图,全文搜索,Embedding ,还有简单的关系统计,它的查询语言与编程语言比较接近,我的 Agile Query 主要用到的也就这些,他还有很多其它的能力, |
15 cndenis 2024 年 3 月 15 日 这种同时用上开窗, 聚合, JOIN, 子查询的的 SQL, 原生 SQL 是王道, 用 ORM 才是让人头疼的事 |
16 matrix1010 2024 年 3 月 15 日 @Removable 这已经算造谣了,就算是 APIJSON 宣传也是夸自己多万能而不是说 xxx 已经没人用了。错误的宣传只会起到反作用 |
18 nian8 2024 年 3 月 15 日 感觉像是 excel + 搜索 + 自定义规则/函数 数据来源及元数据的信息需要很熟悉,才能用起来吧 我没用过。。。 |
20 leegradyllljjjj 2024 年 3 月 15 日 @Braisdom 这不就是个报表? |
21 Braisdom 2024 年 3 月 15 日 @leegradyllljjjj 差不多是这个样子,但 Agile Query 做一个报表只要几秒钟,而且还不需要二次开发,哈哈 |