尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
GBase 8c常见的SQL调优手段
Plan Hint调优Plan Hint为用户提供了直接影响执行计划生成的手段用户可以通过指定join顺序、join、scan方法、指定结果行数等多个手段来进行执行计划的调优以提升查询的性能。使用方法/* plan hint*/如果同时指定多个hint之间需要使用空格分割如select /* plan_hint1 plan_hint2 */ * from t1Plan Hint支持的范围指定Join顺序的Hint - leading hint指定Join方式的Hint指定结果集行数的Hint指定Scan方式的Hint仅支持常用的tablescanindexscan和indexonlyscan的hint指定子链接块名的HintPlan Hint调优示例stu和stu_info两个表关联查询默认使用Hash Join方式进行表关联。使用Hint强制改变执行计划让两个表通过nestloop进行关联查询使用select * 查询stu_info表指定code和stu_id的查询条件默认使用Seq Scan方式获取数据。使用Hint方式指定查询时使用stu_info表的idx_stu_info_code这个索引改变执行计划算子级优化示例基表扫描时对于点查或者范围扫描等过滤大量数据的查询如果使用SeqScan全表扫描会比较耗时可以在条件列上建立索引选择IndexScan进行索引扫描提升扫描效率。执行耗时248ms对stu表的name表创建索引执行耗时25msSQL改写避免使用SELECT *实际业务可能只需要表的几列数据使用SELECT * 会导致内存CPU网络IO等资源浪费。SELECT * 不会走覆盖索引扫描部分SQL语句效率下降明显。使用exists代替inselect st.id,st.name from stu st where st.age5 and st.id not in ( select stu_id from stu_info where code in (a,b,c,d) );正解select st.id,st.name from stu st where st.age5 and not exists ( select 1 from stu_info si where si.stu_idst.id and si.code in (a,b,c,d) );使用连接查询代替子查询select * from stu where id in (select stu_id from stu_info where codea)正解select st.* from stu st inner join stu_id si on si.user_id st.id and si.codea批量操作当有多条加工数据需要写入表中时采取批量写入可以减少I/O消耗insert into stu values (1,bill,15); insert into stu values (2,frank,16);正解insert into stu values (1,bill,15),(2,frank,16);创建适当索引CREATE INDEX idx_stu_name ON stu(name);需要注意点索引并非越多越好太多索引会引起update和insert效率下降分析查询语句使用联合索引注意索引区分度和索引冗余避免在大量null字段上创建索引以及其他常见优化方法如使用limit限制数据返回行分页优化通过主键或者其他索引列先找出符合条件行主键再通过主键过滤查询避免在where字句中使用函数等表达式对大表数据使用分区表按照分区进行查询操作。
RELATED

相关推荐

RAG 基础架构详解:检索-增强-生成的完整工作流

RAG 基础架构详解:检索-增强-生成的完整工作流

RAG 基础架构详解:检索-增强-生成的完整工作流模型的"知识"是训练时定格的,但世界在变。 RAG 就是给模型装上一根"网线"——实时、可验证、可更新。前言:为什么 Agent 需要 RAG Agent 的核心能力之一是"获取信息&qu…

📅 2026/10/6 8:48:22
Agent 规划与推理:让AI从应激反应到主动思考

Agent 规划与推理:让AI从应激反应到主动思考

Agent 规划与推理:让 AI 从"应激反应"到"主动思考"工具是 Agent 的"手",记忆是 Agent 的"存储",规划是 Agent 的"大脑"。 没有规划能力的 Agent,只能做"应激反应"。…

📅 2026/9/12 20:30:30
LLM 服务网关的性能优化:连接池、批量推理与请求合并的工程方案

LLM 服务网关的性能优化:连接池、批量推理与请求合并的工程方案

LLM 服务网关的性能优化:连接池、批量推理与请求合并的工程方案 一、$2300 一个月的 API 账单是怎么来的 一个面向开发者的 AI 编程助手,月均调用 GPT-4 API 约 120 万次。最初的实现是每个用户的每次请求直接新建一个 HTTP 连接调用 OpenAI API。这导致…

📅 2026/11/2 11:48:57
MORE NEWS

更多资讯

📰

S7-200 PLC在游泳池水处理系统中的节能优化方案

1. 项目概述:基于S7-200 PLC的游泳池水处理系统去年夏天给本地游泳馆做自动化改造时,发现传统继电器控制的水处理系统故障率高、能耗浪费严重。用西门子S7-200 PLC配合组态王重新设计后,不仅实现了自动反冲洗、药剂投加等核心功能&#xff0c…

📰

软件测试金字塔与自动化实践指南

1. 项目概述在软件开发领域,测试环节常常被新手开发者忽视,却又是决定产品质量的关键环节。我见过太多团队在项目后期被测试问题拖累,不得不加班加点修复本该早期发现的缺陷。测试不是简单的"点一点按钮",而是一门需要系…

📰

VC6.0调用jsoncpp实现UTF-8/GBK双模中文JSON解析

简介:本资源是一套专为VC6.0开发环境深度适配的JSONCPP全功能调用案例,面向嵌入式、工控及遗留系统维护等需兼容老旧开发平台的C工程师,解决在VC6.0中解析含中文JSON数据时普遍存在的乱码、编译失败与API调用异常等核心痛点。压缩包共72个文件…

📰

期货波动怎么看?平均真实波幅(ATR)和历史波动率怎么选?

想看期货波动,平均真实波幅(ATR)和历史波动率(HV)都能提供信息,却不宜拿两个数直接比较谁大谁小。你若关心一段行情通常跨过多少报价距离,与关心收盘价格的比例变化有多分散,实际上是…

📰

GNG生长神经气:无监督拓扑建模与在线流形学习

1. 这不是又一个“神经网络”噱头:GNG到底在解决什么真问题?你可能已经看过太多标题带“神经网络”的论文,点进去发现不过是把经典算法套个新壳,加点ReLU、Dropout、BatchNorm就敢叫“深度改进”。但GNG——Growing Neural Gas Ne…

📰

STM32F103C8T6最小系统原理图深度解析:电源、复位、时钟与SWD设计本质

简介:本资源为STM32F103C8T6最小系统板的完整原理图PDF文件,面向嵌入式初学者、电子设计爱好者及单片机课程实践者,解决核心硬件电路搭建与理解难题。图纸涵盖电源管理(含ME6211 3.3V稳压、多级去耦电容)、复位电路&am…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬