文档详情

SQL Server数据库的查询优化策略研究.doc

发布:2018-04-13约3.13千字共5页下载文档
文本预览下载声明
SQL Server数据库的查询优化策略研究   摘要:查询优化是数据库的一项重要的性能,查询优化即是提高SQL的执行效率,从而提高数据库性能。该文以SQL Server为例,从减少计算量和内存使用量的角度,提出了一些新的查询优化方案,有效提高数据库查询效率。   关键词:SQL Server;查询优化;范式;SQL   中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)29-7085-03   Research of Query Optimization Based on SQL Server   WEI Yin-zhen1, CHEN Zhen-bing2   (1.The College of Post and Telecommunication of WIT, Wuhan 430064, China; 2.Zhejiang Supcon Information Technology Co.Ltd, Hangzhou 310004, China)   Abstract: As one of the most important performances of data base, query optimization aims to improve the efficiency of SQL, thus to promote data base performance. Taking SQL Server as an example, this paper puts forward some new query optimization schemes from the standpoint of reducing calculation amount and memory usage to effectively improve the database query optimization efficiency.   Key words: SQL Server; Query optimization; Normal form; SQL   查询优化在关系数据库系统中有着非常重要的地位。关系数据库系统和非过程化的SQL语句能够取得巨大的成功,关键是得益于查询化技术的发展。优化对关系系统来说既是挑战又是机遇。所谓挑战是指关系系统为了达到用户可接受的性能必须进行查询优化。关系数据库优化的总目标是:选择有效的策略,求得给定关系表达式的值。   1 引例   有员工数据表employee,和部门信息表department,现求销售部员工的姓名,用SQL语言表达为:   SELECT employee.e_name   FROM employee,department   WHERE employee.d_id= department. d_id and department.d_name=销售部   系统可以用多种等价的关系代数表达式来完成这一查询:   Q1=∏e_name(δemployee.e_id=department.d_idΛd_name=销售部 (employee ?荥?茳department)) (1)   Q2=∏e_name(Σdepartment.Cno=2(employee?荥?茳department)(2)   Q1=∏e_nam((employee?荥?茳 δ department. d_id=销售部) (3)   对于表达式1,首先要作连接运算。设一个内存块(存放连接运算的中间结果)能装10个employee元组或100个department元组,在内存中存放5块employee元组和1块department元组,则读取总快数为:   其中读employee表100块。读department表20遍,每遍100块。若每秒读写20块,则总计要花105s。   连接后的元组数为103×104 s设每块能装10个元组,则写出这些块要用106/20=5×104s。   然后作连接操作。假定内存处理时间忽略,这一步中间文件花费的时间需5×104 s。满足条件的元组假设仅50个,均可存放在内存。最后投影操作。   因此,表达式1执行查询的总时间≈105+2×5×104≈105s。这里所有的内存处理时间俊忽略不计。   对于表达式2,为了执行自然连接,读取employee和department表的策略不变,总的读取块数仍为2100块,花费时间为105s.dan自然连接的结果比表达式1情况大大减少,为104个。因此,写出这些元组的时间为104,仅为表达式1的千分之一。读取中间文件块,执行运算时间为50s。投影时间忽略。表达式2执行总时间≈1
显示全部
相似文档