简介:适合不知如何写运算表格方面的相关专业大学硕士和本科毕业论文以及关于运算表格论文开题报告范文和相关职称论文写作参考文献资料下载。
(锦州师范高等专科学校经济管理系,辽宁锦州 121000)
摘 要:本文通过一些实例讨论了以VB开发的应用软件中如何实现SQL的查询优化.分析了一些查询语句的执行过程,给出了相应的优化设计方案,通过对查询语句的优化,提高了访问数据库的响应速度,使查询过程既节省时间又节省空间.
关键词:SQL语言;VB;优化设计
中图分类号:TP312 文献标识码:A 文章编号:1009-8135(2010)03-0066-02
Visual Basic(简称VB)提供了Microsoft Windows应用程序最迅速、最简捷的开发方法.不论是Microsoft Windows应用程序的资深专业人员还是初学者,VB都为他们提供了整套工具,以方便开发应用程序.因其功能强大、简单易用和开发效率高而备受青睐.它在数据库处理上具有丰富的功能,支持SQL语言.而SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言,近年来对它的应用研究较多.为减少计算量和内存需求,对SQL查询语句进行优化设计尤为重要.
1. SQL查询语句
SQL查询语句是数据库开发的一个重要部分,是用户与数据库之间的联系纽带,用户对数据库的操作都是通过SQL语言来实现的,但是对同一查询过程,可以有多种形式的SQL语句表达方法.首要介绍SQL语句在VB中的基本格式:
1.1 SELECT子句
SELECT子句选择列表指出所查询列,它可以由一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成.选择表所有列,使用“*”可以选择指定表中的所有列.
选择部分列并指定它们的显示次序,这时候查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同.语法格式为:SELECT field1, field2, 等 FROM table
1.2 FROM子句
FROM子句指定SELECT语句查询及与查询相关的表或视图.在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔.在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图,限定的格式为:TableName.Field.SELECT这样不仅能从表或视图中检索数据,它还能够从其他查询主名所返回的结果集合中查询数据.
1.3 WHERE子句
使用WHERE子句设置查询条件,可过滤掉不需要的数据行.WHERE子句可包括各种条件运算符.使用这些条件运算符可以对数据进行筛选,最后得到需要的数据.使用ORDER BY子句可对查询返回的结
果按一列或多列排序.ORDER BY子句的语法格式为:
ORDER BY {column_name [ASC|DESC]} [,等n]
其中ASC表示升序且为默认值,DESC为降序.
2. SQL语句的优化过程
在数据库的管理与应用中,关系为其结构的基本单位,SQL语言支持关系运算,可以执行关系的投影、选择、联结等运算.这些运算都是通过SQL语言的语法和语句来实现的.由于对同一查询语句有多种不同的语法表达形式,因此有必要对各种形式进行分析,下面给出详细讨论.
2.1 对同一表格进行多个选择运算
关系在数据库中的具体表现即为表格,选择运算是数据库中的常用操作之一,用户通过这一运算,可以从数据库中得到有选择性的数据,为便于说明,作者假定在一个有关银行储户的数据库管理系统中,有表格Depositor(Dnumber, Name, Tel, City, Withdrawal, Deposit, Date, Balance),括号内的各项为表格的属性,通过下面的一个SQL查询语句可以返回所有Jinzhou市,在2009年10月10日存取过钱的储户姓名、电话号码、账户余额.
例1:SELECT Name, Tel,Balance
FROM Depositor
WHERE City等于’Jinzhou’ AND Date等于’2009-10-10’,
若表格Depositor中储户40 000万个,其中Jinzhou地区有储户200万个,在2009年10月10日存取过钱的储户有四万,其中Jinzhou市为两千.而执行完这一查询语句后,数据库系统返回一个包含两千行的数据表格.在这个查询语句中有两个选择条件,第一个是City等于’Jinzhou’,第二个是Date等于’2009-10-10’,在执行完第一个选择条件后,得到一个200万行的临时表格,第二个选择条件就是对这个表格再进行选择运算,从而最终得到所需结果.如果将选择条件的次序颠倒一下,即将WHERE语句改写为WHERE Date等于’2009-10-10’ AND City等于’Jinzhou’,则先得到一个四万行的临时表格,再得到同样的结果.由此可见,选择条件的次序极大地影响着查询的计算量,前者临时表格的行数是后者的50倍,因此要提高查询响应速度,可将较严格的选择条件写在前面,较弱的条件放在后面,这样在执行过程中会迅速将不满足条件的行删除.
2.2 多个表格的联接、选择运算
联接运算是数据库查询中常用运算之一,由于联接运算会产生一个很大的临时表格,特别是数个表格的联接运算,不优化的SQL查询语句会产生巨大的计算工作量,且增加了对内存的需求,严重时可使软件在执行中出现异常.下面再次考虑前面的例子,设在该数据库管理系统中还有一个表格Address(Dnumber, Street, ZipCode),它包含了有关储户的地址信息,如果要想得到所有于2009年10月10日存取过钱的用户地址,下面两个SQL查询语句都可以单独完成操作.
excel表格运算:[www.hnya.com]河南门户excel2008表格教程_同时进行多个单元格的运算
例2:SELECT *
FROM Depositor, Address
WHERE Depositor .Dnumber等于Address.Dnumber
AND Date等于’2009-10-10’,
例3:SELECT *
FROM Address
WHERE Dnumber等于
(SELECT Dnumber
FROM Depositor
WHERE Date等于’2009-10-10’
),
两个查询语句返回同样的数据结果,但查询响应的时间不同,在例2中首先进行两个表格的联接运算,得到一个40000万行的临时表格,然后对这个表格进行选择运算,得到所需的结果.而在例3中首先对表格Depositor进行选择运算,立刻删除了大量多余数据,得到一个仅有四万行的临时表格,然后再对这个表格与Address进行联接运算而得到最终结果.不难看到,例2中的计算量要比例3的大得多,这是因为在例2中,联接运算的两个表格都是40 000万行,选择运算也是在这样一个巨大的表格上进行的,而例3中的联接运算仅对一个四万行的表格进行.所以只要对SQL查询语句作适当的优化设计,就可以大大提高数据库的性能,一般说来,对于多个表格的联接选择运算过程.先做选择运算、后做联接运算比先做联接算、后做选择运算计算量小,查询响应时间短,内存需求小.
2.3 尽量使用代码分解Select检索操作
使用Select进行数据库操作固然简单易用,但如果将一些检索过程操作分解为等价的手工检索代码,则对数据库的检索速度将大大加快.
分解的基本方法是对检索关键字段进行索引,利用Seek方法定位后,根据索引的数据库已经排序的特点,进行遍历查找.对于遍历范围不是很宽时,这种方法能几十倍地提高数据库的访问速度.
2.4 使用dbSQLPassThrough选项
连接MS SQL Server、Oracle和Sysbase数据库服务器时,使用dbSQLPassThrough选项可将命令直接发送给数据库服务器,从而减少中间对命令的检查和解释,提高了数据库的访问性能.
3. 结束语
在数据库的管理和开发过程中,优化设计可以提高数据库的性能,尤其对于大型数据库,优化过程更为重要,它不仅可以提高查询响应速度,还可以减少对内存的需求.通过分析一些查询语句执行过程,给出了相应的优化设计方案,通过一些例子的测试表明,优化过程简单、方便、有效,达到了提高访问数据库效率的目的.
参考文献:
[1]张树兵等.Visual Basic 6.0中文版入门与提高[M].北京:清华大学出版社,1999.
[2]熊江.SQL Server数据库中多媒体信息的抽取与转换[J].重庆三峡学院学报,2008(3).
[3]王能斌.数据库系统原理[M].北京:电子工业出版社.2000.
(责任编辑:张新玲)
总结:此文是一篇运算表格论文范文,为你的毕业论文写作提供有价值的参考。
excel表格运算引用文献:
[1] 电子表格两个表格怎么查重
[2] 隐藏表格线的表格查重
[3] 毕业论文的开题报告表格 本科生毕业论文开题报告