- 博客(87)
- 收藏
- 关注
原创 pgsql时间分区
这样每个月的数据有独立性,按时间查询,就只查询独立的一个月数据,速度会比较快。pgsql的时间分区就做到了这种效果,注意的是它不是分布式数据库技术,单服务器是完全可以用的。时间分区是对表数据按时间维度进行分割的一种分区策略,常用于处理时间序列数据或按时间频繁访问的数据。pgsql时间分区是数据库分区的一种形式,通过将数据按时间维度划分到不同的分区表中,可以提高查询性能和管理效率。PostgreSQL 16 改进了对分区表的管理功能,提供了更灵活的分区策略和自动化的分区维护机制。
2025-02-12 18:36:58
1413
原创 excel如何拆分为1000行一个的文件
输出文件:生成 output_1.xlsx、output_2.xlsx 等,每个文件包含最多100行数据(保留标题)。输出路径:与原文件相同,生成 output_1.xlsx、output_2.xlsx 等。一步完成,不需要安装环境,也不需要专业知识,也不需要“神”一样的ai。输入文件:确保 input.xlsx 与脚本同目录,或修改路径。打开Excel文件,按 Alt + F11 进入VBA编辑器。文件路径:检查脚本或宏中的路径权限,避免保存失败。标题行:默认第1行为标题,每个新文件均包含。
2025-02-12 10:08:06
2600
原创 数据库行转列技术详解
行转列(Row to Column)是数据库领域中一项重要的数据转换技术,能够将垂直排列的行数据转换为水平展示的列数据。这种技术在报表生成、数据分析和业务展示等场景中具有不可替代的价值。本文将通过具体案例详细解析三种主流实现方案。
2025-02-11 20:14:29
1605
原创 如何动态查询和统计超千万行的数据分页浏览
推荐用临时表,把查询的结果放在临时表里面,再从临时表分页取数给前端。这里面会有一些问题,因为你是服务端,前端可能会有多人并发的情况。所以在分临时表的时侯,需要按用户ID来标识这个表是谁的。另外在用户退出登录的时侯,需要清空该用户所有的临时表。有的技术方案会把所有的请求进行比较,条件相同的不再新建临时表。使用数据库原生会话级临时表(如PostgreSQL的TEMPORARY TABLE)LRU缓存淘汰策略:保持最近使用的前100个查询缓存。优势:完全避免临时表,利用索引快速定位。二、替代临时表的优化方案。
2025-02-11 19:05:15
1055
原创 excel导入数据库,处理格式不规范问题
在导入过得中,如果发现这一列的值与第一行不符合,会自动修改这个字段为字符串类型,保证这一列的值能完全导入数据库。1、数字列中混有文本,比如这一列,大部分是1,2,3这种数字,中意来一个“张三”。这样的列,在导入数据库时,就会出错,导致数据导入失败。处理的办法有两个,一是用excel公式找到这一列的非数字值,替换成空的。这样的数据是导不进数据库的,因为数据库字段是数值类型,这个“4”是文本。4、超大excel表格的导入,一般的工具对于单文件超过300MB的excel文件导入就会非常吃力,很多都会导入不成功。
2025-02-10 19:50:16
1563
原创 pgsql最快的数据导入BeginBinaryImport
PostgreSQL 的是中的一个函数,用于高效实现。它是 PostgreSQL C 接口库(libpq)的一部分,用于启动一个 COPY FROM STDIN操作(二进制模式)。通过二进制流(而非文本格式)向数据库批量插入数据,性能显著优于逐行插入或文本格式导入。需要与和PQendCopy配合使用,直接传输二进制格式的数据块。需要高速导入数百万甚至数十亿条记录。数据源本身是二进制格式(例如传感器数据、二进制文件等)。
2025-02-10 19:22:23
1379
原创 excel合并表格
上一章说到excel拆分表格,可以按一列的不重复数据自动拆分成多个表格。这个功能主要适用于有多个下级机构的部门分发表格使用。表格分发完成,下级单位修改后,上传到我们这里。我们还得把这些表格合并成一个表。如果利用复制粘性,工作量大,且容易出错。就这么简单就完成了多个表的合并,还支持多个表不同列数的合并。当然只能按顺序给你合并到第一个表。还支持在xlsx中添加csv或者在csv中添加xlsx。hpctb同样提供了合并表格的功能,我们打开其中一个表格,点“添加表”,选中全部的表格(这里可以多选)
2025-02-09 12:45:02
1283
原创 excel拆分表格
我们想按“姓名”拆分为多个表格,excel是没有这个功能的。wps里面有这个功能,但是我今天没找到,可能是在会员里面。如果手工去拆分表格,会比较麻烦,只有通过vba或者py等代码来执行。即使你求助ai,来回折腾,也会比较麻烦。就这么简单,不管你有多少数据,点一下鼠标就按这一列的不重复行给你分成多个表。有没有用鼠标点一下就分成多个表的功能呢?hpctb提供了这个功能。
2025-02-09 12:25:52
1335
原创 .NET Framework和.NET Core的区别
首先,.NET Framework是微软早期推出的,主要用于Windows平台的应用程序开发,支持WinForms、WPF、ASP.NET这些技术。另外,生命周期和支持时间点需要注意,比如.NET Framework 4.8是最后一个版本,之后微软主要发展.NET 5+,所以用户可能也需要知道迁移的建议。需要避免混淆.NET Core和后来的.NET 5+,虽然现在统称.NET,但用户的问题可能还是关注Core和Framework的区别。.NET Framework 和 .NET Core(现已演进为。
2025-02-07 08:41:21
2160
原创 不到50美元!李飞飞团队训练出媲美DeepSeek R1的推理模型
2025年2月6日,人工智能领域迎来震撼性突破:由李飞飞教授领衔的斯坦福大学与华盛顿大学联合团队宣布,仅花费不到50美元的云计算成本,便成功训练出名为s1的AI推理模型。正是这种对技术瓶颈的清醒认知,驱使她探索“小而美”的AI新范式。原来高高在上的AI,动辄百亿的算力投资,现在普通玩家只要几十美元就可以在现有开源模型基础上训练一个特定模型,那接下来就是AI百花齐放的时代。据澎湃新闻报道,李飞飞曾在采访中提到,现在的AI比人类差远了,能耗高、体积庞大,而且尚未具备情感,但人类智慧可以启发下一代AI做得更好。
2025-02-07 07:31:01
1809
原创 如何重新安装windows11,也适用于各种OEM
误区,在网上找各种非官方包去安装。就算成功了,恭喜你折腾半天,装一个带毒的操作系统。正确的办法,直接到微软的官网。直接创建u盘启动,这个最简单明了:创建 Windows 11 安装媒体如果你想在新的或二手的 PC 上执行 Windows 11 的重新安装或全新安装,请使用此选项下载媒体创建工具以制作可启动的 USB 或 DVD。注意:Windows 11 媒体创建工具不能用于为基于 Arm 的 PC 创建安装媒体;只能为 x64 处理器创建媒体。
2025-02-06 04:10:31
1503
原创 如何避免被水军带节奏
首先,用户可能关心的是如何辨别真假信息,避免被误导。最后,用户可能需要长期的方法来提升自己的媒介素养。比如学习批判性思维,了解网络舆论的运作机制,参与培训等。用户可能是在社交媒体或论坛上看到很多不真实的评论,担心自己会被这些言论影响,甚至被误导。比如,水军账号可能新注册,内容重复,或者大量刷屏。另外,用户可能还希望了解如何保持理性,不被情绪左右。水军常常利用情绪化的内容来煽动情绪,所以需要建议用户保持冷静,理性分析。在信息爆炸的时代,网络水军通过操控舆论、制造虚假信息干扰公众判断的情况愈发频繁。
2025-02-06 04:09:54
1240
原创 在windows中安装macos
在BIOS设置中,使用键盘导航找到包含“虚拟化”字样的选项。通常,这些选项位于以下菜单中之一,Processor 或 CPU Configuration:在这些菜单下查找“Intel Virtualization Technology”或“VT-x”设置。然后你需要下载macos的iso文件,太新的可能用不了,你需要测试一下。然后你要下载并安装VMwareworkstation16,不能是17,17会有问题。先决条件,你的电脑cup是inter系列,且支持VT-x/AMD-V硬件虚拟化。
2025-02-05 08:06:41
1443
原创 在windows中安装linux
按照这些步骤,就可以成功在Windows 11上安装并配置WSL和Ubuntu。将会看到多个版本可供选择,如Ubuntu 22.04 LTS、Ubuntu 20.04 LTS等。右键开始按钮,选择“Windows Terminal (管理员)”或“命令提示符 (管理员)”。确保你的Windows 11已更新到最新版本,以获得最佳的WSL支持。安装完成后,系统可能会提示你重启。选择你需要的Ubuntu版本,然后点击“获取”或“安装”按钮。安装完成后,可以从开始菜单搜索“Ubuntu”,并点击以启动。
2025-02-05 08:06:07
1255
原创 excel电子表(或csv)中如何合并两个工作表,超过1,048,576行
方法3:使用hpctb的“添加表”功能:先打开一个文件,点“添加表”,选另外一个文件,就在原表上追加了新选表的所有数据。或者你打开一个csv,添加一个电子表或csv在后面。问题1、对于大数据缓慢,或者卡死:表我们需要打开两个文件或者同一文件中的两个工作表,复制其中一个,再粘贴到另外一个表格的某个位置。问题3、CSV类型的文件用excel或wps打开时会有格式错乱,复制粘贴会更加错乱。问题2、超出行限制:两个表行数超出了1,048,576行,会造成无法粘贴。方法1:复制、粘贴,具体操作不说了,太水了。
2025-02-04 08:58:55
1856
原创 如何解决csv打开出现乱码或格式错乱
csv乱码的原因,其实就是csv解析的时侯“字符编码”(有时侯习惯叫“字符集”,其实是不正确的叫法)和实际不符合。因为历史遗留的原因,“字符编码”有228种,然后你打开的时侯,只能默认或选择一种。但是有很多软件,包括excel和wps默认的仍然不是"utf-8",所以我们在打开csv的时侯,需要选择“字符编码”。这40种“字符编码”几乎已经覆盖了全部的“字符编码”范围,为什么不是228种呢,因为有些是超集。hpctb在打开和导入csv数据之前,提供了40种“字符编码”的选择,如图。
2025-02-04 08:58:24
6737
原创 如何原样打开csv文件,格式不变
以前xlsx是我们保存数据的首选,因为它的格式不会变,不管用什么软件打开,都是相同的内容。所以很多人,看着csv就头疼,包括作者本人。目前测试,只有用hpctb打开xlsx,保存为csv或者用hpctb导出为csv,才能保证手术代码前面和后面的0全部存在。csv文件的占用空间非常小,导入导出的速度非常快,不需要复杂的解析。后来在hpctb中发现了对csv的完美支持,我们保存数据又多了一种途径,可以放心使用csv了。我们想看看csv文件的内容,尝试"打开"csv文件,而不是导入,看看有没有问题。
2025-02-03 08:34:57
1759
原创 excel超过100万行怎么处理
我们打开并查看里面的内容,反应速度也是非常快的,有少量的卡顿。这个没办法,这么多数据用PC即时打开,这也就是最优化的速度了。我们都知道excel是有最大行1,048,576限制的,有的时侯,我们的数据超过了最大行。5、csv导入、导出数据库,支持sql server、msssql、pgsql、oracle、sqlite。1、快速筛选:500万行也不怎么卡顿,能全选、反选、提取“重复项”“唯一项”和“计数”、“列分表”。3、电子表格关联修改,代替xlookup或者vlookup的,点击式的,超大表不会卡死。
2025-02-03 08:34:13
4081
原创 跨平台的客户端gui到底是选“原生”还是web
我们看一下“前端”的定义:(Front-End) 通常指与用户直接交互的部分,即用户看到、操作并与之互动的界面。我们讨论的是客户端的“前端”gui部分是选“原生”还是“web”,而不是讨论客户端用“js”还是“原生”。我们应该把客户端也分为“前端”和“后端”,如果客户端没有“后端”,那么不在讨论范围。这一点呢,其实web和原生的差别并不大,只要技术没用错,带客户端的web也完全感觉不到卡顿。最重要的一点是开发速度,web框架的开发速度比"原生"快N倍,速度就是金钱。“原生”的代表框架,qt。
2025-02-01 09:10:38
1428
原创 c#aot做跨平台动态库
c#aot技术,很多人都觉得是垃圾,没有用,其实还是很有用的。.net发展这么多年,有很多很好的功能,你可以把这些功能做成动态库供rust调用,供c/c++调用。你还真别看不起这些功能,当你需要,又没有库可以使用的时侯,调用.net aot库,也是一个非常好的办法。那你说我喜欢手搓,那当我没说。做好c# aot项目后,通过不同的命令可以做跨平台交叉编译,经测试通过:windows:dotnet publish -r win-x64 -c Releasedotnet publish -r win-arm64
2025-01-31 10:08:04
860
原创 rust如何操作oracle
首先鄙视甲骨文,这么多钱的公司,不做一个rust库,还要社区帮忙。有个开源的rust库,叫oracle,但是并不是甲骨文做的。经过测试oracle这个rust库,也没有问题,可以放心使用。同样的问题,批量插入做得不好。
2025-01-30 09:16:32
1013
原创 rust如何操作sqlserver
rust中操作mysql和pgsql的技术非常多,也很成熟。作为一个sql server多年的使用者,我总不能用rust之后,就放弃mssql吧。我尝试了一下,我们国人开发的rbatis,rbatis是支持mssql的。但是很遗憾,我使用的是兼容win7的rust 1.77.2这个版本,rbatis在这个环境并没有跑起来。但是这个库只有339星,热度非常低,我们来看看,如何使用tiberius。经过测试,并没有发现tiberius有什么问题,你可以愉快地用它来操作sql server。
2025-01-30 09:15:51
994
原创 rust操作pgsql、mysql和sqlite
rust中,有很多技术可以操作pgsql、mysql和sqlite,以sqlx为主流技术。我们以sqlx操作sqlite为示例,操作pgsql和mysql的办法是一样的。
2025-01-29 08:59:59
1253
原创 为什么要用tauri开发跨平台桌面
把前端用electron包装起来,rust后端单独使用就是了,我们叫它手动挡的tauri。这样就实现了手动挡的tauri,你在linux里面的渲染也就不会乱了。我在macos中打包了一个electron项目,占600MB,改成tauri,只用了16MB。5、易用性:利用vue或者react这些海量的组件,你很轻易就能通过tauri把他们打包到windows,macos,linux,android,ios上去运行。这样的话,你的tauri性能是可以和原生程序相比的,因为rust的关系,也有机率超过原生。
2025-01-29 08:57:50
1072
原创 spring入门其实特别简单,也可以做单机。
然后点“GENERATE”,会自动下载一个demo.zip。解压demo.zip,用IntelliJ IDEA打开就能用了。点右边的"ADD DEPENDENCIES",选“IntelliJ IDEA打开之后,你得配置你的。
2025-01-28 07:46:10
487
原创 Next.js 14 TS 中使用jwt 和 App Router 进行管理
jwt是一个很基础的工作。但是因为架构不一样,就算是相同的架构,版本不一样,加jwt都会有一定的差别。3、我们在 app/api 文件夹中创建两个 API 路由:一个用于登录,一个用于保护的数据获取。7、使用 React Context 管理登录状态。8、配置全局 AuthProvider。
2025-01-28 07:45:52
1213
原创 为什么要学习rust
只有rust做到了,启动时8MB内存,执行webapi操作时占了1G左右内存,发送给前端后,内存又回到了8MB。当然你可能要说,c/c++也能做到内存即时释放,首先我不会c/c++,其次就算是会的人,也很容易出错。赌未来:rust处于上升期,微软已经在使用rust慢慢替代c/c++了,在win11 2024H2中已经有了rust的代码。国内来说,华为早就是rust最高级别会员之一,字节的rust早就落地了。这一点GO,也可以,但是go内存占得多呀。1、学生,学生时间多,学习能力强,学rust最合适不过。
2025-01-27 09:46:19
932
原创 excel如何查找一个表的数据在另外一个表是否存在
在你要修改的列标题那里点“修改”出现一个弹窗,在里面选“来源表”(Sheet2)“返回列”(民族)“查找列”(姓名)“被查找列”(姓名)然后点“确认修改”,这个操作就成功了。$B$2:$C$3,2,FALSE),表示我们要查找Sheet2的B和C列,返回第2列,也就是C列的数据,查找的依据是我们的B列。比如“Sheet1”有“张三”、“李四”“王五”三个人的数据,“Sheet2”只有“张三”、“李四”的数据。我们通过修改“Sheet1”的“民族”或者其他空的列,修改为“Sheet2”的某一列。
2025-01-27 09:41:19
6267
原创 excel字符串列的文本分列合并
excel表有两列,第一列是“姓名”,第二列是“诊断”,有高血压、糖尿病等。我想出一个统计表,将每个人的诊断分为1-N列,比如张三,第一诊断高血压,第二诊断糖尿病,分列显示。打开“统计表”这个功能,选中“数据源”中的“姓名”,移动到右边的“统计列”。然后在“计算列”的“出院诊断”后面选择“计算类型”为“分列”,点“查询”。比如:=TEXTJOIN(",", TRUE, UNIQUE(FILTER(B:B, A:A=A2)))FILTER(B:B, A:A=A2)会选出与当前行A列姓名相同的所有B列诊断。
2024-06-24 08:56:52
3771
原创 excel字符串列的文本合并
excel表有两列,第一列是“姓名”,第二列是“诊断”,有高血压、糖尿病等。我想出一个统计表,统计“姓名”,把某一个姓名的诊断不重复的用、拼接起来,比如“张三”的诊断为“点高血压”、糖尿病。打开“统计表”这个功能,选中“数据源”中的“姓名”,移动到右边的“统计列”。然后在“计算列”的“出院诊断”后面选择“计算类型”为“拼接”,点“查询”。比如:=TEXTJOIN(",", TRUE, UNIQUE(FILTER(B:B, A:A=A2)))TEXTJOIN()函数会把所有不重复的诊断用逗号和空格拼接起来。
2024-06-24 08:52:00
4592
原创 electron系列(一)调用dll
用electron的目的,其实很简单。就是web架构要直接使用前端电脑的资源,但是浏览器限制了使用,所以用electron来达到这个目的。其中调用dll是一个非常基本的操作。
2024-06-22 12:17:09
4669
6
原创 小白学react之Next.js 14(三)React.useState
声明了一个状态变量 data,这个状态变量的类型是一个 Employee 对象的数组。data的初始值为一个空的Employee数组。声明了一个状态变量 editID,这个状态变量的类型是一个number。我们把它定义在app中,这样,整个app都能使用useState定义的变量,而且可以在app的任何地方使用setEditID和setData更改data和editID的值。
2024-06-22 12:10:55
3623
原创 小白学react之Next.js 14(二)获取数据首字母变小写
数据库中有个字段名称叫“EmployeeID”,在asp.net core中定义的实体类属性也叫“EmployeeID”,在api中没有做任何处理,取的原始数据。发现取过来的数据变成了:employeeID : 14 人员姓名 : "倪**" 单位名称 : "社区" 性别 : "1" ,导致组件无法显示employeeID。
2024-06-21 08:36:55
3275
原创 小白学react之Next.js 14(一)不配置路由的玩法
很明显,在src/app文件夹下面,我们有一个主页,叫page.tsx。其他的页面,也叫page.tsx,只是放在src/app下面不同的文夹里面。每一个文件夹就代表一个路径,每个文件夹中的 page.tsx 文件就是对应的页面组件。当你访问项目的根路径 / 时,将会加载 src/app/page.tsx 并显示主页。当你点击按钮时,useRouter 的 push 方法会导航到 /test 路径,这会加载 src/app/test/page.tsx 中的内容并显示测试页面。
2024-06-21 08:36:40
3351
原创 java和c#比较(四)多线程
可以看出 C# 的async/await关键词使得异步编程更加直观和易读,而Java在这方面相对复杂一些,通常需要结合Future和ExecutorService来实现。
2024-06-20 10:11:25
3218
原创 java和c#比较(三)内存管理PC电脑
当然你可以把.net程序放到容器化环境(如Docker),在Docker中,可以通过以下命令限制容器的内存使用:docker run -m 1g my-dotnet-application。Java: 支持多种垃圾回收算法,如串行GC(Serial GC)、并行GC(Parallel GC)、垃圾优先GC(G1 GC)、低延迟GC(如ZGC、Shenandoah GC)。Java: 类加载器负责加载类,类元数据和字节码通常存放在元空间中(从Java 8开始),而在之前的版本,信息存放在永久代。
2024-06-20 10:11:11
3152
原创 java和c#比较(二)DataTable VS ResultSet
在Java中没有和DataTable类似的东西,如果取数据表通常使用ResultSet来从数据库中读取数据。在内存中操作数据,需要将数据从ResultSet中提取出来,并存储在其他数据结构中,比如List或Map。在C#中,DataTable是一个用来存储数据表格的内存类,和数据库的表非常像。我们来看一下c#中datable 统计 “金额”,条件是"姓名=张三"的代码,然后用java的Map来做同样的功能代码。DataTable不仅可以取数据库中的数据,还可以直接在内存中方便的添加或修改数据。
2024-06-19 09:39:16
3382
原创 java和c#比较(一)jdbc VS ado.net取100万条记录到内存
就是说取数这项,java内存占用是.net的1.5倍,速度比.net快30%多。结论:同样的一个sqlite数据库表,同样一台电脑,单机测试数据读取到内存。java jdbc:用时26秒,内存占用2.58G。c# ado.net:用时34秒,内存占用1.68。
2024-06-19 09:14:20
3273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人