没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
ISSN 1O09-3044
Computer Knowledge and Technology电脑知识与技术
Vo1.12 No.16,June 2016
E—mail:whx@dnzs.net.cn
http://www.dnzs.net.cn
65690964
浅谈 FireBird数据库SQL语句 的优化
刘华
(汀苏 阳光集团信息中心 ,江苏 江阴 214426)
摘要 :数据 库是计算机信息 管理系统 的核 心部 分 ,必 不可少的 。该文 主要分析 了基于 FireBird数据库 的 SQL语句优化技
术 ,通过实例进行优化技 术前 后性能指标 的分析与 总结 ,阐述 了SQL语句 的优化 对数 据库系统性能的改善和提升起到 了
章要 的作用
父键词 :FireBird;数据库 ;SQL语句 ;优化
rf1图分类号 :TP311 义献标识码 :A 文章编号 :1009—3044(2016)16一O018-02
1数据 库优 化背 景知 识
数据库 最常 见的优化手段 是对硬 件的升级 ,据 统计 ,对 网
络 、硬件 、操作 系统 、数据库参 数进行优 化所获得 的性能提 升 ,
全 部加 起 来 只 占数据 库 系 统 性 能提 升 的 40%左 右 ,其余 的
60%系 统性能提 升来 自对应 用程 序的优化 。应用程序 的优化
分为源代码和SQL语 句优 化。南于涉及对程序逻 辑的改变 ,源
代码 的优化在 时间成本和风险上代价很 高 ,而对数据库性能 提
升收效有 限。SQL语句在 执行 中消耗 了70%~90%的数据库 资
源 ,对 SQL语 句进行优化不 会影响程序逻辑 ,而对于 SQL语 句
的优 化成本 较低 、收益却 比较高 ,所 以对 SQL语句 进行优化 改
进 ,对丁提高数据库性能和效率是非常有必要的。
2分 析 SQL优化 问题
许多程序员认为查询优化 与编写的 SQL语句关系不大 ,这
是错误 的认识 ,一个好 的SQL查询语句往往可 以使 程序性能提
高数 十 倍 ,同时减 轻数据库服务器 的承载压 力。实际应用程序
开发过程 『11还是 以用 户提交的 SQL语句作为系统优化 的基础 ,
很难设 想一个原本 糟糕的 SQL查询语 句经过系统的优 化之后
会变得 高效 .查询优化技术在关 系数据库 系统 中有着非常重要
的地位 ,关系数据库系统 和非过 程化的SQL语 言能够取得 巨大
的成功 ,关键 是得益于查询优化技术 的发展。从本质上讲 。用
户希望查询的运行速 度能够尽可能地快 ,无论是将查询运行的
时 删从 10分钟缩减 为 1分钟 ,还 是将运行 的时间从 2秒缩短 为
1秒钟 ,最终 的 口标都是 减少运行时 间。 由于应用 程序可能 生
成非常复杂的 SQ[ 语 句 ,查询优化程序必须精心 构建 、功能 强
大,以保 障 良好 的执行性能 查询优化程序 可转换 SQL语 句 。
使复杂 的语句转换成为等价 的但执行性能更好 的SQL语句 。
3 SQL语句优化策略
本 文以关 系数据 库系统 FireBird为例 ,结合数据库理论 ,以
实 际软件 肝发过
程 rf 的实例为说明 ,介绍 了SQL语句优化技术 在现实系统
叶l的运,L}j
3.1索引原理
索引是一个 单独 的 、物理的数据库结构.FireBird数据库以
及其他 大型的关系式数据库引擎,都具备各式索引功能 、
建立索 引的优点:
1)大大加快数据的检索速度,提高数据库执行效率 。
2)创建唯一性索 引 ,保证 数据库表 中每一行数据的唯一
性 ;
3)在表与表之间建立关联字段索 引,加速表和表之 间数 据
访 问连接速度 ;
4)对频繁进行 GROUPBY(分组)或 ORDERBY( ̄序)操 作 的
表结构字段 建立 索引。
以实际 ERP项 目开发中服装加T数据 为例 ,一张为服装 入
库表:fz.Irk(批 号 、服装单号 、加T人员)约 5000条记 录 ,另一张 为
服装 出库表:fz—ck(批号 、服装单号 、加T 人员)约 6000条 记录,
现要查 看相 同服装单号的人出库加T人员信 息并埘服装单号
排序,SQL执行语句 :
select 0.bh,O.xm rk,P.xm ck from fz
—
rk olefl join fz—ck P on(P.
bh=o.bh)order by o.bh,以服装单号字段作为为表结构索引 ,现将
未建索引和建立索引后 的数据分析如下 :
表 1 索引优化前后执行统计对 比表
索 {读 取 缓存获取数据 最大 内存 执行时I
未建索引 无 2.690.15l 1.402,308 ls359ms
建 市索引 bh l8l0 740,928 3lms
从 表 中数 据知 ,在相 同情况下 执行相 同 SQL语句 查询 ,索
引优化 不管是 占用 CPU内存 还是缓存数据读取 ,性能都有大幅
度的提升 ,执行时间更是 呈JL何级速度 下降,数据库查 询效率
得 到明显的提高。
3.2把对视图的访问转换为对基本表 的访 问
视图是关 系数据 库系统提供给用 户 以多种角度 观察数据
库 中数据 的重要机制 ,利用视 图可以大大简化用户 的 j 作 。本
人在程序开发初期也创 建过较多 的视图简化工作 量 ,但是从查
询优化 的角度来看 ,视图则不利 于查询效率 的提 高。SQL语言
是一个 描述性 的非过程 化语言 ,用 户在写 SQL语 句 时 , 用知
道需要操作的数据具体是如何存放 以及 按照什么步骤进 行处
收稿 日期 :2016—04—1 5
作者简介:刘华(1977一 ),男 ,江 苏江 阴人 ,从 事软件开发工作。
18 露舞饵坞憎 譬 誓曩 … 一一 本栏目责任编辑:王 力
数据资源
- 粉丝: 113
- 资源: 23万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0