HarmonyOS NEXT+AI打造智能助手APP(适配DeepSeek)
在科技飞速发展的当下,编程语言和操作系统的创新不断重塑着应用开发的格局。华为的仓颉编程语言自问世以来,便以其独特的优势和强大的功能,吸引了众多开发者的目光。而 HarmonyOS NEXT,作为华为全...
YashanDB|Oracle 中的 pipelined 表函数迁移不过?这样改写就对了
【问题类型】功能兼容性【关键字】PL/SQL、pipelined 函数、嵌套表、表函数【问题描述】Oracle 的 pipelined 函数在 PL/SQL 中被广泛使用,尤其适合处理字符串分割、流式计算等场景。但在将这类函数迁移至 YashanDB 时,会出现语法不兼容或执行失败的问题。【根因分析】pipelined 是 Oracle 提供的一种表函数增强机制,允许函数边计算边返回结果集,典型特
YashanDB|IN 参数超 300 个,查询突然变慢?问题可能出在执行计划上
【问题现象】在对一张包含 200 万数据量的测试表执行如下 SQL 时,查询性能明显变慢:SELECT name, SUM(id) FROM test1119 WHERE phone IN (…超过300个参数…) GROUP BY name;执行耗时远超预期,达到数十秒甚至更长。【问题影响范围】YashanDB
YashanDB |报错 no free block in dictionary cache?共享集群中的卡顿真凶找到了
【问题描述】在 YashanDB 共享集群环境下,出现以下问题:创建用户、表时卡住不动查询视图或表时报错:no free block in dictionary cache【风险影响】【影响版本】23.2.7.100 及以下所有版本【问题根因】YashanDB 使用 Dictionary Cache(DC)管理表、视图等元数据信息。当:DC 空间不足某表 DC 长时间占用未释放(ref_count
YashanDB|服务器重启后数据库无法启动?别忘了这个关键服务
【问题概述】某部署了 YashanDB 的服务器在关机重启后,尝试启动数据库失败,提示如下错误:dial tcp xx.xx.xx.xx:1675: connect: connection refused此错误通常意味着数据库控制服务未正常启动。【影响范围】YashanDB 所有版本均适用【原因分析】1675 是 yasom(Yashan
YashanDB|JDBC getString 取 DATE 字段不带时分秒?两个方法解决!
【问题描述】在使用 YashanDB JDBC 驱动查询 DATE 类型字段时,如果直接使用:resultSet.getString(1);返回结果只包含日期(如 2024-05-01),不包含时分秒。【示例现象】数据库中原始字段值为:2024-05-01 15:30:00但 getString() 返回结果却是:2024-05-01这会导致部分依赖时间精度的业务逻辑异常。【影响范围】适
YashanDB|复合索引用了也慢?IN 参数太多时建议这样调
【关键词】复合索引、IN 参数、执行计划、性能调优【问题描述】测试表数据量约 200 万,在 ID 和 PHONE 字段上建立了复合索引:CREATE INDEX IND_TEST1119_ID_PHONE ON TEST1119(ID, PHONE);执行以下 SQL 时性能较差:SELECT name, SUM(id) F
YashanDB |YMP 迁移时报错 account lock?别让低版本 OpenSSL 坑了你
【关键词】YMP 迁移失败、account lock、openssl 加密不匹配【问题现象】使用 YMP 工具迁移数据时迁移失败,日志中频繁出现以下报错:invalid username/password, login deniedthe account is locked账号信息确认无误,数据库连接配置也未改动,仍持续失败。【影响版本】YashanDB 版本:23.2.3.100 ~
YashanDB|Oracle 里的 XMLAGG 迁不过来?换成 WM_CONCAT 就对了
【关键词】XMLAGG 兼容性、WM_CONCAT 替代、SQL 聚合拼接函数【问题描述】在 Oracle 中,以下用法用于将多个行值拼接为一个字符串:XMLAGG(XMLPARSE(CONTENT T.COLUMN_NAME || ',') ORDER BY T.COLUMN_ID).GETCLOBVAL()但在迁移至
YashanDB|UPDATE 中用子查询赋值报错?换个写法就能兼容
【关键词】UPDATE (子查询) SET、子查询赋值不兼容、YashanDB UPDATE 写法规范【问题描述】如下 UPDATE 语句在 Oracle 中可执行,在 YashanDB 中却报错或执行失败:UPDATE ADMIN_AUTH_ORG T1 SET T1.ORG_ID_STAN = ( &nb
小余买鱼与数据库优化【3】——资源的利用
又过了几天,妈妈再次让小余去买鱼,这次楼下附近的农贸市场开放了。小余没能摆脱上次买鱼延续的思维惯式,选择让表哥帮忙一起开车去买鱼,结果到地下车库开车、到了农贸找车位停车...
YashanDB|insert 写入乱码字符,CPU 占满、线程卡死?你可能踩到了 lex 死循环的坑
【问题现象】在 GBK 编码的 YashanDB 数据库中,执行某条 insert 语句后:SQL 长时间无响应CPU 资源占满(单核 99.9%)kill session 后也无法释放查看线程状态,发现 yasdb worker 长时间占用 CPU,而会话处于 killed 状态却无法销毁。【影响版本】YashanDB 22.2.16.1YashanDB 23.3.0.61 及更早版本【根因分析
YashanDB 知识库|IMP 跨网络导入太慢?一文看懂原因与优化建议
【问题现象】在客户测试过程中,同一份约 290MB 的数据文件,使用 imp 工具导入 YashanDB 时,耗时差距巨大:【影响版本】客户测试环境版本:22.2.8.3【原因分析】YashanDB 的 imp 工具在执行导入操作时,本质上是:将导入文件中的每条 SQL 一条一条通过网络传输给数据库执行。这就带来了两个问题:高频交互:每条 SQL 都会单独发起一次网络交互,交互次数远高于流式批处理
YashanDB 知识库|GBK 库插入生僻字乱码?别忽视编码转换这一环
【问题描述】在 GBK 编码的 YashanDB 数据库中,尝试将包含生僻字的人名插入到 nvarchar2 字段时,出现了乱码或字符丢失的现象。例如以下操作:CREATE TABLE t1 (id INT, c1 NVARCHAR2(128)); INSERT INTO t1 VALUES (1
YashanDB 知识库|内存参数这么多,Share Pool 怎么配才不会报错?
【问题背景】在 Oracle 中,常规只需设置 SGA 和 PGA,系统内部自动分配内存即可。但在 YashanDB 中,为了支持更灵活的内存控制,提供了更多内存参数项,便于在不同业务场景下做细致优化。然而,不少用户在调整过程中遇到报错,典型如:SQL_POOL_SIZE + DICTIONARY_CACHE_SIZE > 100 报错这类问
YashanDB 知识库|删除用户组后 yasql 免密登录失效?问题可能出在这儿
【问题现象】在正常环境中,通过 yasql 工具可免密登录数据库。但在删除某些用户组后,尝试连接时却出现如下报错:用户密码错误即免密登录失败。【影响范围】影响版本:YashanDB 所有版本影响场景:手动删除或修改了系统用户组配置的机器【根因分析】问题原因是:YashanDB 安装时使用的默认用户组被删除,导致当前用户所属组不再匹配原免密配置。查看当前用户组:id xp发现当前用户 xp
YashanDB 知识库|主备切换怎么做?一主一备 & 一主两备完整操作指引
在 YashanDB 的生产部署中,为保证业务连续性,主备架构是最常见的高可用模式。本文将基于实际项目总结,一文讲清:主备切换的操作方式(手动与自动);一主一备与一主两备下的差异;切换过程中应注意的细节。一、典型问题场景二、适用版本YashanDB 23.2 全版本适用三、一主一备架构切换方式1. 手动切换操作(1)Switchover —— 主动切换,适用于主备同步正常所有连接将被断开
新书速览|纯血鸿蒙HarmonyOS NEXT原生开发之旅
《纯血鸿蒙HarmonyOS NEXT原生开发之旅》 本书内容 《纯血鸿蒙HarmonyOS NEXT原生开发之旅》全面系统地介绍了基于HarmonyOS NEXT系统进行原生应用开发的实用技巧。全书...
小余买鱼与数据库优化【2】——需求与设计
一个月后,小余妈妈又准备开始做水煮活鱼了,妈妈还让小余去买一只草鱼回来。不过这次情况发生变化了,家附近的农贸市场因故关闭了,由于住的比较偏僻,还真的只能去20里外沃尔玛超市买鱼了。如果是以前,小余必然就是直接兴冲冲的一头冲出门,帮妈妈买鱼去。不过这一次...
小余买鱼与数据库优化【1】——诊断与改进
全文就从一个生活中的小故事开始吧,故事的名字叫:《小余买鱼1》 :一天下午4点多,小余妈妈想做水煮活鱼给家人吃,让小余去买一只草鱼回来。小余骑自行车到20里外的沃尔玛超市买到鱼然后返回。一到家,妈妈就开始责怪小余买鱼的时间花的太长了,因为都已经是下午6点半了,晚上7点一家人都安排好了外出的活动了,这下做水煮活鱼来不及了...