开发日常小结(44):记一次现网sql执行效率优化过程

数据库国产化探究及升级改造过程指导 当前官网最新版本为DM8,相较于目前主流产品架构:不同特性依靠不同内核去实现,DM8独特采用了双存储引擎架构,行存储引擎和列存储引擎可相互配合、协同工作。同时实现了计算层和存储层的分离,同一内核既支持共享存储式集群,也支持分布式事务集群。 阅读详情

2019年11月14日

 

昨晚测试提了一个bug:详情是管理后台的数据查询超时了,我重新在beta环境测试了查询sql,不出意外的复现了。

现网nginx配置了HTTP请求的超时时间为60s,就是说请求超过60s还没有返回响应,那么就会断开连接。

于是我拷贝了sql,单独拎出来分析......终于将这个坑填完了。

 

目录

数据表结构准备

业务查询sql

现网执行效果

优化过程

语义分析

优化一

优化二

优化三

优化四

优化五


数据表结构准备

-- log记录表
CREATE TABLE `eh_organization_member_logs` (
  `id` bigint(20) NOT NULL DEFAULT '0' COMMENT 'id of the record',
  `namespace_id` int(11) DEFAULT '0',
  `organization_id` bigint(20) DEFAULT NULL,
  `user_id` bigint(20) DEFAULT NULL COMMENT 'organization member target id (type user)',
  `contact_name` varchar(64) DEFAULT NULL,
  `contact_type` tinyint(4) DEFAULT '0' COMMENT '0: mobile, 1: email',
  `contact_token` varchar(128) DEFAULT NULL COMMENT 'phone number or email address',
  `operation_type` tinyint(4) DEFAULT '0' COMMENT '0-退出企业 1-加入企业',
  `request_type` tinyint(4) DEFAULT '0' COMMENT '0-管理员操作 1-用户操作',
  `operate_time` datetime DEFAULT NULL,
  `operator_uid` bigint(20) NOT NULL,
  `contact_description` text,
  `reject_content` text,
  `organization_member_record_id` bigint(20) DEFAULT NULL COMMENT '企业认证时,记录目标对象的eh_organization_members表记录主键id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 企业用户表
CREATE TABLE `organization_members` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id of the record',
  `organization_id` bigint(20) NOT NULL,
  `target_type` varchar(32) DEFAULT NULL COMMENT 'untrack, user',
  `target_id` bigint(20) NOT NULL COMMENT 'target user id if target_type is a user',
  `member_group` varchar(32) DEFAULT NULL COMMENT 'pm group the member belongs to',
  `contact_name` varchar(64) DEFAULT NULL,
  `contact_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0: mobile, 1: email',
  `contact_token` varchar(128) DEFAULT NULL COMMENT 'phone number or email address',
  `contact_description` text,
  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '0: inactive, 1: confirming, 2: active',
  `group_id` bigint(20) DEFAULT '0' COMMENT 'refer to the organization id',
  `employee_no` varchar(128) DEFAULT NULL,
  `avatar` varchar(2048) DEFAULT NULL,
  `group_path` varchar(128) DEFAULT NULL COMMENT 'refer to the organization path',
  `gender` tinyint(4) DEFAULT '0' COMMENT '0: undisclosured, 1: male, 2: female',
  `update_time` datetime DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `integral_tag1` bigint(20) DEFAULT NULL,
  `integral_tag2` bigint(20) DEFAULT NULL,
  `integral_tag3` bigint(20) DEFAULT NULL,
  `integral_tag4` bigint(20) DEFAULT NULL,
  `integral_tag5` bigint(20) DEFAULT NULL,
  `string_tag1` varchar(128) DEFAULT NULL,
  `string_tag2` varchar(128) DEFAULT NULL,
  `string_tag3` varchar(128) DEFAULT NULL,
  `string_tag4` varchar(128) DEFAULT NULL,
  `string_tag5` varchar(128) DEFAULT NULL,
  `namespace_id` int(11) DEFAULT '0',
  `visible_flag` tinyint(4) DEFAULT '0' COMMENT '0 show 1 hide',
  `group_type` varchar(64) DEFAULT NULL COMMENT 'ENTERPRISE, DEPARTMENT, GROUP, JOB_POSITION, JOB_LEVEL, MANAGER',
  `creator_uid` bigint(20) DEFAULT NULL,
  `operator_uid` bigint(20) DEFAULT NULL,
  KEY `fk_eh_orgm_owner` (`organization_id`),
  KEY `i_eh_corg_group` (`member_group`),
  KEY `i_target_id` (`target_id`),
  KEY `i_contact_token` (`contact_token`),
  KEY `group_type_index` (`group_type`),
  KEY `group_path_index` (`group_path`)
  ) ENGINE=InnoDB AUTO_INCREMENT=1999984295450 DEFAULT CHARSET=utf8mb4;

业务查询sql

SELECT
	organization_member_logs.`id`,
	organization_member_logs.`namespace_id`,
	organization_member_logs.`organization_id`,
	organization_member_logs.`user_id`,
	organization_member_logs.`contact_name`,
	organization_member_logs.`contact_type`,
	organization_member_logs.`contact_token`,
	organization_member_logs.`operation_type`,
	organization_member_logs.`request_type`,
	organization_member_logs.`operate_time`,
	organization_member_logs.`operator_uid`,
	organization_member_logs.`contact_description`,
	organization_member_logs.`reject_content`,
	organization_member_logs.`organization_member_record_id`
FROM
	organization_member_logs
WHERE
	(
		organization_member_logs.`organization_id` IN (
			1054881,1055350,1055356,1055489,1055553,1055555,1055557,1055559,1055561,1055600,1055638,1056008,1056052,1056055,1056056,1056125,1056807,1056943,1056943,1055489,1056944,1056944,1055350,1056946,1056946,1056946,1056055,1056056,1056125,1056951,1056951,1056952,1056952,1056953,1056953,1056954,1056954,1056955,1056955,1056956,1056956,1056957,1056957,1056958,1056958,1056946,1056946,1056959,1056959,1056960,1056960,1056961,1056961,1056962,1056962,1056963,1056963,1056964,1056964,1056965,1056965,1056966,1056966,1056967,1056967,1056968,1056968,1056969,1056969,1056970,1056970,1056972,1056972,1056973,1056973,1056974,1056974,1056975,1056975,1056976,1056976,1056977,1056977,1056978,1056978,1056979,1056979,1056980,1056980,1056981,1056981,1056982,1056982,1056983,1056983,1056985,1056985,1056986,1056986,1056987,1056987,1056988,1056988,1056989,1056989,1056990,1056990,1056991,1056991,1056992,1056992,1056993,1056993,1056994,1056994,1056995,1056995,1056996,1056996,1056997,1056997,1056998,1056998,1056999,1056999,1057000,1057000,1057001,1057001,1057002,1057002,1057003,1057003,1057004,1057004,1057005,1057005,1057006,1057006,1057007,1057007,1057008,1057008,1057009,1057009,1057010,1057010,1057011,1057011,1057012,1057012,1057013,1057013,1057014,1057014,1057015,1057015,1057016,1057016,1057056,1057211,1057243,1057246,1057249,1058281,1058283,1058470,1058484,1058485,1058486,1058490,1058491,1058494,1058495,1058499,1058500,1058677,1058703,1058704,1058708,1058709,1058967,1059319,1059320,1059321,1059368,1059468,1059490,1059547,1059718,1059721,1059788,1059789,1059800,1059804,1059809,1059828,1059862,1059912,1060002,1060007,1060007,1060009,1060009,1060231,1060548,1060549,1060551,1060552,1060553,1060572,1060573,1060686,1060812,1060812,1060830,1060830,1060839,1060840,1060914,1060916,1061182,1061182,1061183,1061183,1061184,1061184,1061182,1061202,1061202,1061203,1061204,1061204,1061205,1061205,1061205,1061206,1061206,1061207,1061207,1061208,1061208,1061209,1061209,1061210,1061210,1057243,1061202,1061211,1061211,1061212,1061212,1061213,1061213,1061214,1061214,1061215,1061215,1061216,1061216,1061217,1061218,1061218,1060916,1060914,1060840,1060839,1060839,1060686,1060553,1060553,1060552,1060551,1060551,1060551,1061267,1061267,1061420,1061420,1061421,1061421,1061424,1061424,1061424,1060549,1060548,1060231,1060231,1060002,1059912,1059862,1059828,1058703,1058703,1061438,1061438,1061438,1061465,1061465,1061466,1061467,1061467,1061467,1061466,1061466,1057249,1061617,1061617,1061618,1061618,1061618,1061207,1061619,1061619,1062074,1062074,1062075,1062126,1062126,1062075,1062141,1062142,1062152,1062152,1056807,1056807,1062820,1062820,1063684,1063756,1063768,1063768,1063768,1063885,1063885,1063910,1063911,1063929,1063911,1063910,1063942,1063942,1064247,1064326,1064326,1064448,1064449,1064453,1064454,1064455,1064502,1064527,1064528,1064744,1064822,1064857,1064890,1065085,1065085,1064890,1065114,1065117,1065117,1065117,1065117,1065117,1065117,1065117,1065117,1065117,1065117,1065156,1065156,1065212,1065212,1065114,1065114,1065114,1065114,1065114,1065354,1065354,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065449,1065449,1065593,1065593,1065596,1065596,1065667,1065667,1065816,1065816,1065816,1065667,1065593,1065596,1065449,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065375,1065354,1065212,1065156,1065114,1065114,1065114,1065114,1065114,1065085,1064890,1064822,1064744,1064528,1064527,1064502,1064455,1064454,1064454,1064453,1064449,1064448,1064326,1064247,1064247,1064247,1064247,1063942,1063911,1063910,1063885,1063768,1063768,1063756,1064857,1063684,1062152,1062142,1062142,1062142,1062141,1062141,1062141,1062126,1062075,1062074,1061617,1061466,1061466,1061467,1061467,1061465,1061424,1061424,1061421,1061420,1062820,1060916,1061618,1061618,1060914,1060812,1060686,1060573,1060573,1060573,1060572,1060572,1060572,1060572,1060553,1060553,1060552,1060551,1060551,1060551,1060549,1060548,1060231,1060231,1060002,1059862,1059828,1059809,1059804,1059800,1059800,1059800,1059800,1059800,1059800,1059800,1059789,1059788,1059788,1059721,1059721,1059721,1059547,1059547,1059547,1059547,1059547,1059547,1059490,1059468,1059368,1061438,1061438,1059321,1059320,1059319,1058967,1058703,1058703,1058500,1058499,1058499,1058495,1058495,1058494,1058494,1058491,1058490,1058490,1058486,1058485,1058484,1058484,1061267,1058470,1058709,1058709,1058709,1058704,1056993,1061204,1061205,1056943,1056943,1056943,1056943,1056943,1056943,1056943,1056943,1056943,1056943,1056943,1057243,1061206,1056807,1056807,1061207,1061208,1061209,1061209,1058708,1058708,1056008,1057211,1057211,1057246,1056125,1056125,1061210,1061184,1061619,1056056,1056056,1056055,1056055,1057249,1056052,1061202,1061202,1061202,1061211,1061212,1061213,1060009,1060009,1060007,1060007,1060007,1060007,1060007,1061183,1061214,1061214,1061182,1061215,1061215,1061216,1061216,1061216,1061218,1061218,1055489,1055489,1055489,1055489,1055350,1055350,1065980,1065980,1065980,1066019,1066019
		)
		AND organization_member_logs.`operation_type` = 1
		AND EXISTS (
			SELECT
				1 AS `one`
			FROM
				organization_members
			WHERE
				(
					organization_members.`target_id` = organization_member_logs.`user_id`
					AND organization_members.`organization_id` = organization_member_logs.`organization_id`
					AND organization_members.`target_type` = 'USER'
					AND organization_members.`status` <> 0
					AND organization_members.`status` <> 4
				)
		)
	)
ORDER BY
	organization_member_logs.`operate_time` DESC
LIMIT 11 OFFSET 0;

现网执行效果

跑出了85s的好成绩(血流不止)

 

优化过程

语义分析

  • sql的IN 元素有600+
  • where条件使用了EXISTS
  • order排序字段没有建立索引

优化一

 

考虑到IN的使用,使用EXISTS替代IN。耗时91.5s。

推荐阅读:https://blog.youkuaiyun.com/s1040342522/article/details/88638363

 

优化二

添加联合索引

ALTER TABLE organization_member_logs ADD INDEX orgid_uid ( organization_id, user_id);

但是explain后,IN语法不会使用索引,原因是用select之后使用了函数内部转换,mysql是不支持函数索引的。

添加联合索引(operation_time)之后,还是这么慢。。耗时105s

 

 

优化三

计划使用内联表的形式,直接与子查询进行组合查询,这种写法相当于IN子查询写法,而且效率有不少的提高。

SELECT
	a.`id`,
	a.`id`,
	a.`namespace_id`,
	a.`organization_id`,
	a.`user_id`,
	a.`contact_name`,
	a.`contact_type`,
	a.`contact_token`,
	a.`operation_type`,
	a.`request_type`,
	a.`operate_time`,
	a.`operator_uid`,
	a.`contact_description`,
	a.`reject_content`,
	a.`organization_member_record_id`
FROM
	`organization_member_logs` a,
	(SELECT
				member_id
			FROM
				organization_community_requests
			WHERE
				community_id = 240111044332063658
			AND member_status = 3
			AND member_type = 'organization') b
WHERE
	(
		a.organization_id = b.member_id
		AND a.`operation_type` = 1
		AND EXISTS (
			SELECT
				1 AS `one`
			FROM
				organization_members
			WHERE
				(
					organization_members.`target_id` = a.`user_id`
					AND organization_members.`organization_id` = a.`organization_id`
					AND organization_members.`target_type` = 'USER'
					AND organization_members.`status` <> 0
					AND organization_members.`status` <> 4
				)
		)
	)
ORDER BY
	a.`operate_time` DESC
LIMIT 11 OFFSET 0;

但查询结果是耗时181s。

explain 发现上面的sql已经使用了索引

PRIMARY eh_organization_member_logs range orgid_uid orgid_uid 9 1728 Using index condition; 
Using where DEPENDENT SUBQUERY eh_organization_members ref fk_eh_orgm_owner,i_target_id i_target_id 8 ehcore.eh_organization_member_logs.user_id 1 Using where

但还是这么慢。。why?

 

 

优化四

无意中去掉 order by字句排序,仅仅使用3.7s!!!

推荐阅读:https://www.cnblogs.com/developer_chan/p/9225638.html

 

 

优化五

添加单列索引(operation_time),卧槽,3s!!!原来我一开始的方向就错了,sql执行慢,原因是检索字段没有建立索引,导致异常耗时!!

推荐阅读:http://www.mamicode.com/info-detail-2785311.html

 

真实艰难优化过程。还是要深入了解原理才能解决sql的优化问题啊!


欢迎扫二维码关注公众号,获取技术干货

 

 

【社会科学】【管理科学】 第二十六章 评价管理——企业中通过评价实现人的管理方法和策略及行为01 编号类型领域评价人被评价人评价方法和策略评价控制的逐步推理思考的方程式及语言/话术/表情/姿态/动作/脸色/眼色关联知识法律法规和底线要求1绩效结果导向型评价绩效管理直接上级全体员工关键绩效指标法(KPI)与季度/年度复盘会推理方程式:核对期初目标(量化)→ 分析实际数据与目标差距 → 归因(外部/内部、能力/意愿)→ 共识下阶段改进点。 话术:“来看下我们Q2的业绩面板。你负责的A指标超额完成,值得肯定。但B指标有10%的缺口,你分析主要是什么原因?” 表情/姿态:坐在会议桌同侧,电脑屏幕或文 阅读详情

相关推荐

AI学习-langchain

也可以安装一下读取环境变量的依赖。

qq_62408075的博客 333

基于JavaWeb+SSM+Vue“鼻护灵”微信小程序系统的设计和实现

1.1研究背景信息技术的集成化和信息网络化的不断发展,人类开始步入信息化时代,信息技术作为一种资源成为医院战略不可分割的一部分,在当今社会,人们的生活节奏逐渐加快,人们对经济的要求逐渐降低,越来越多的人开始追求简单、快捷的方式。以现在计算机的技术的应用,使计算机成为人们使用现代发达技术的桥梁[1]。计算机可以有效的解决信息,十分方便的获取信息,从而提高工作的效率。1.2 研究意义现如今科技的卓越发展,时代环境的大变革。

力挽狂澜的POWER 1087

用AI画电路板AI EDA初探Creating WiFi Radio with CELUS: A Step-by-Step Tutorial 使用CELU.IO创建WiFi收音机:分步教程

结论:整体还不太成熟,所选器件单元是欧美思维,器件选型成本和咱们华强北还是无法比。可以关注迭代,看客就当走马观花就行了;不过里面的单元模块还带有AI提问的这个比较好,值得国内EDA从业者学习。话不多说上正文:本教程目的是让我们深入了解如何使用CELUS设计平台构建WiFi收音机实战项目。本指南的重点是使用该平台来选择正确的解决方案,并整合一个项目,让您可以将音乐和节目从互联网直接传输到您自己构建的扬声器。

2301_81235726的博客 1万+

windows实用键盘快捷键

windows实用键盘快捷键一、ctrl相关二、alt、shift相关三、win(windows徽标的简称)相关四、其他快捷键五、运行窗口快捷命令先输入win+ R六、小结 一、ctrl相关 Ctrl + X  -> 剪切选定项 Ctrl + C(或 Ctrl + Insert) -> 复制选定项 Ctrl + V(或 Shift + Insert) -> 粘贴选定项 Ctrl + Z -> 撤消操作 Ctrl + Esc -> 打开“开始”屏幕 Ctrl + Shift

weixin_44168588的博客 1230

超频玩家必看:TestMem5配置文件详解与内存稳定性测试实战(含黄金参数包)

本文详细解析了TestMem5(TM5)在内存超频稳定性测试中的核心价值与实战应用,特别针对DRAM颗粒特性提供黄金参数配置。通过anta777等专业配置的深度剖析,指导超频玩家精准定位内存故障,优化时序参数,实现性能与稳定性的完美平衡。涵盖从初级验证到极限压测的全流程方案,是硬件发烧友提升系统稳定性的必备指南。

weixin_29198045的博客 1817

车载仪表-功能点测试大全(超详细,细分可作测试用例)

汽车仪表系统发展经历了机械式、电气化到智能化的演变,目前全液晶仪表渗透率达73.4%。文章详细梳理了仪表功能测试要点,包括UI界面显示一致性、按键响应、FM收音、信号灯显示、USB功能、蓝牙连接、胎压监测、导航系统、WiFi投屏、倒车影像及多媒体播放等关键功能模块的测试标准。特别关注界面切换流畅度、功能稳定性及异常情况处理能力,如投屏状态下是否卡顿、导航中断后能否自动恢复等。测试覆盖了CarPlay、AndroidAuto等主流投屏方案的兼容性验证,确保各类交互场景下的系统可靠性。

weixin_51551002的博客 2067

Cursor 完全指南:从零基础到 AI 编程高手的 2 万字深度教程

人均ai工具的今天,难道你还没用上cursor?你被时代淘汰啦!

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 612

移远EC20模块USB模式切换的底层逻辑与驱动适配探秘

本文深入探讨了移远EC20模块USB模式切换的底层逻辑与驱动适配机制,详细解析了AT命令控制下的USB0与WWAN0模式差异。通过分析USB协议栈、内核驱动框架及网络子系统的交互,提供了模式切换的完整操作流程和常见问题解决方案,助力开发者优化4G通信模块在嵌入式设备中的稳定连接。

cc789的博客 845

第二章:企业为什么需要本体推理?

企业数据面临四重结构性鸿沟:技术鸿沟(数据汇聚但语义未对齐)、语义鸿沟(同一概念多部门定义不一)、知识鸿沟(隐性经验无法形式化)和解释鸿沟(AI决策缺乏可解释性)。这些问题导致"聚不齐、取不准、看不懂、查不深"的数据困境。本体推理通过构建语义层,明确定义业务概念及其关系,实现跨部门语义对齐,将数据升维为可推理的业务对象。相比传统数据工程,本体方法能捕获隐性知识,提供可解释的决策依据,是解决企业数据语义混乱问题的关键。

m0_64069380的博客 588

遥感影像建筑物变化检测

遥感影像建筑物变化检测

yilvyangguang520的博客 423

如何用Python打造PubMed API客户端:科研文献检索自动化实践

PubMed提供了官方的Entrez E-utilities API接口,支持程序化检索文献,但直接调用API需处理请求重试、参数封装、数据解析等问题。批量获取文献ID及结构化详情(标题、作者、DOI等)内置重试机制,应对网络波动或API限流统一数据输出格式,便于后续分析(如文献计量、AI文本处理)灵活适配不同检索需求(如指定数据库、结果数量)本文实现的PubMed API客户端,通过封装API请求、重试机制、数据解析,让科研文献检索从“手动点击”变为“代码自动化”。

ASKCOS博客 358

SRE进阶实战(四):MySQL主从复制原理、实战与高可用架构

<think>好的,用户要求基于给定的文章内容生成一篇不超过150字的摘要。文章主题是MySQL主从复制,涵盖原理、实战和高可用架构,篇幅约8000字。 需要提炼的核心点有几个:主从复制的原理(三个线程、binlog机制)、实战部署、备份策略、高可用架构演进。文章的前言部分有清晰的架构演进脉络,正文部分主要围绕原理和实战展开。 150字的限制比较严格,需要精炼表达。摘要应当包含:文章主题定位、主从复制在MySQL高可用中的基础性地位、核心原理要点、实战内容覆盖范围、高可用架构的演进层次。结构上可以用几句话串

cpyaxjq的博客 87

制作3D地形图的方法-使用GlobalMapper和3ds Max软件

打开GlobalMapper软件,在菜单栏中选择“文件”>“打开数据文件”,然后选择相应的高程数据文件。在菜单栏中选择“渲染”>“渲染设置”,根据需要进行设置,如分辨率和输出格式。选择地形对象,点击菜单栏中的“渲染”>“材质编辑器”,然后根据需要调整材质属性,如颜色、纹理和光照等。在菜单栏中选择“工具”>“高程栅格和网格”>“创建地形网格”。在菜单栏中选择“文件”>“导出”>“导出栅格格式”。打开3ds Max软件,在菜单栏中选择“文件”>“导入”,然后选择之前导出的地形数据文件。步骤3:导出地形网格。

JqlScala的博客 1535

【课程设计】springboot“医相伴”智慧小程序 计算机毕业设计源码14831

前端患者用户模块: (1)注册登录:用户可以通过登录功能快速进入小程序,若未注册则可以选择马上注册。对于忘记密码的用户,提供了便捷的密码找回途径。此外,小程序支持微信登录,用户可以选择暂不授权或确认授权,以便快速使用服务。对于已有账号的用户,提供了立即登录的选项,方便他们快速进入个人中心。 (2)首页:小程序的首页设计了轮播图,展示医院的最新动态和重要通知。用户可以查看不同科室的信息,了解医生的专业背景,获取医院的最新资讯,以及阅读网站公告,确保患者能够及时获取医院的重要信息. (3)科室信息:用户可以搜索

Biye_Design的博客 1万+

python批量调用大模型API:多线程和异步协程

本文介绍了利用多线程技术批量调用大模型API的实现方法。核心是通过并发请求提高处理效率,主要采用线程池管理并发数量、结果聚合等技术。文章提供了一个完整的Python实现示例,包含APIBatchCaller类及其single_api_call和batch_call方法,详细解析了并发控制、错误处理等关键点,并给出了使用注意事项,包括并发数设置、重试策略和超时处理等。该方案特别适合IO密集型任务,能显著提升批量API调用的效率。

Cachel Wood的博客 760

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OLMo 2与Claude 3.5 Sonnet教育场景实战对比:开源可复现性 vs 商业鲁棒性

大语言模型在教育领域的落地,核心不在于参数规模或榜单排名,而在于是否具备扎实的语言理解深度、可靠的领域知识内化能力以及对非结构化教学文本(如错题集、手写OCR、口语化提问)的鲁棒解析能力。OLMo 2以全开源训练栈和确定性架构,支撑可复现的微调与教学研究;Claude 3.5 Sonnet则依托宪法对齐与分层注意力缓存,在长上下文、容错推理和教学法逻辑生成上展现工业级稳定性。二者分别代表‘知识验证’与‘知识转化’两种技术路径,在物理错题分析、讲义生成、公式校正等真实教育任务中形成能力互补。本文基于统一测试环

weixin_33795743的博客 440

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

项目管理—高级集成项目管理师--认证考试--单选题

A.分解项目阶段B.分解产品C.获得工作包D.分解工作包为具体的活动 DA.告诉他们WBS可以避免工作遗漏情况发生B.告诉他们不需要使用WBSC.告诉他们如果项目涉及合同,则需要WBSD.告诉他们WBS是识别风险的唯一方法 AA.创建控制图B.执行产品测试C.实施质量保证D.遵循沟通管理计划 CA.为了计划的严肃性,项目计划在需求定义完成时,不能进行大的修订B.项目需求定义和需求实现通常是由不同的组织完成的C.项目需求定义和需求实现一般是由一方完成的。

stqer的博客 378

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

云原生技术问题

整体流程涉及DNS、ARP、TCP、IP、HTTP核心协议,完整过程如下:首先进行DNS解析,将域名解析为服务器IP,依次查询浏览器缓存、系统hosts、本地DNS缓存,未命中则向DNS服务器迭代查询。核心区别:TCP是面向连接的可靠传输协议,需三次握手建连,具备重传、校验、流量控制、拥塞控制机制,报文开销大、传输延迟高;traceroute利用ICMP超时报文:通过逐级递增数据包TTL值,每经过一台路由器TTL减1,TTL归零后路由器返回ICMP超时报文,以此获取链路所有路由节点IP,定位故障链路。

2303_81849819的博客 466

Linux运维实战(五):进程管理与计划任务深度解析

<think>好的,用户需要根据给定的文章内容生成≤150字的摘要。文章内容很丰富,涵盖了进程管理、计划任务、系统监控等多方面内容。 需要抓住最核心的信息点,同时控制字数。摘要要简洁概括全文主旨和主要内容,不遗漏关键知识点。 文章核心是Linux运维中的进程管理与计划任务,基于真实环境实操。涉及的概念包括进程定义、状态、PID/PPID、优先级,工具包括ps、top等,还讲了计划任务crontab配置和系统性能监控。 摘要要精炼,突出实操性、系统性,点明是从基础到监控的完整体系。考虑用一句话概括整体,再列出

cpyaxjq的博客 132

【课程设计】基于Vue+Springboot技术的高校宿舍管理系统的设计与实现 计算机毕业设计源码61116

(1)学生用户功能模块: 首页:提供快速访问常用功能,如楼栋信息、网站公告以及校园资讯等。 网站公告:展示系统的最新公告和通知,让用户及时了解系统动态。 校园资讯:提供最新资讯详情,并进行点赞,收藏和评论等操作。 问题反馈:学生可以对宿舍环境、设施、服务等方面提出意见和建议。 楼栋信息:学生可以查看楼栋信息列表,包括楼栋楼号、房间数量等,并进行点赞、收藏和评论等操作 个人中心: 个人首页:学生可以查看和编辑自己的个人信息,以及管理自己的宿舍相关事务 宿舍分配:学生可以查看自己的宿舍安排和室友信息....

专业程序开发源的博客 635

EduRAG智能回答项目V1.0

本文介绍了基于企业私有数据构建RAG(检索增强生成)系统的完整流程。主要内容包括: 项目背景:针对大模型知识局限性和"幻觉"问题,提出两种解决方案——垂直领域微调和RAG问答系统,分析各自的优缺点及适用场景。 技术工具: 使用Ollama管理本地大模型 采用LangChain框架简化LLM应用开发 利用Milvus向量数据库存储和检索非结构化数据 系统实现: MySQL问答系统:基于BM25算法实现高频问答对检索 RAG系统:包含文档处理、向量存储、查询分类和策略选择等模块。

专注前端开发领域,深耕 Python AI Agent应用开发,热爱探索 Web 与人工智能的前沿技术。 269

抓住 AI 人工智能的风口之第 3 章 —— SpringAI 整合人工智能大模型(qwen)、Ollama、ChatMemory、RAG、Tool 电商智能客服项目实战

本章节将以一个简单的电商客服系统为原型,尽可能的将 SpringAI 各项技术都沿用进来,让读者对大模型实际落地项目有一个基本认识。 本套系统代码公开免费,可以参考学习和商用,纯原创没有任何第三方约束!让天下没有难写的代码!代码已经放入 Gitee 仓库, master 分支为最新分支。本篇博客是详细的技术拆解文章。

流放深圳 437

开发日常小结(39):MYSQL: UNION 和 UNION ALL 的使用与区别

2018年10月20日 目录 一、新建一个简单的表,两个select查询语句 二、UNION用法的个人理解 三、包含或取消重复的行 四、查询结果排序 五、小结 1、UNION在MySQL4.0以上版本才能可以使用。 2、UNION是条件联结的手段之一。 一、新建一个简单的表,两个select查询语句 新建表author: SET FOREIGN_KEY_CHECKS=...

Diligence is the mother of success. 3034

开发日常小结(3):如何使用datatable导出数据到Excel?-- 充值查询数据实例

2018年4月6日运营部的妹子们又来需求了,查了网上资料,很快的完成了,虽然只是基础;实现思路:使用datatable的插件--buttons;官方文档:https://datatables.net/reference/button/excel1)datatable的数据显示不需要我多说了,各位都懂的;2)加入buttons插件,其实分两步:一是导入js;二是编写js;(又是多余的废话。。)导入j...

Diligence is the mother of success. 2135

开发工作中常用的linux指令,更新中...

2019年4月29日 1)ubuntu系统下载电影 1.1 echo url|base64 -d 1.2 wget ftp://dygod1:dygod1@d317.dydytt.com:9009/%5B%E7%94%B5%E5%BD%B1%E5%A4%A9%E5%A0%82www.dy2018.net%5D.%E4%BA%91%E5%9B%BE.1024x576.BD%E4%B8%AD%E...

Diligence is the mother of success. 1729

开发日常小结(27): Infinity与NaN的实现

2018年7月20日16:09:30 场外音:总裁来故宫了。 今日久违碰到基础的bug:java计算中碰到了“Infinity与NaN”;前端的哥们抱怨说为啥初始化数据时就出现这种情况捏??我汗颜.......... 【1】小例子导入 java浮点数运算中有两个特殊的情况:NAN、INFINITY,分别是“非数字”和“无限大”; public abstract class ...

Diligence is the mother of success. 1692
上一篇: 后端日志【19】:时间过的很快,坚持自我修炼的第五个月又10天,我现在有什么感觉呢?
下一篇: LeetCode刷题之旅【数据库篇】简单 - 1:组合两个表
后台技术汇
博客等级 码龄11年 670粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值