阅读背景:

MySQL详解(17)-----------海量数据库的查询优化

来源:互联网 

许多程序员以为查询优化是DBMS(数据库教程管理体系)的义务,与程序员所编写的SQL语句关系不大,这是毛病的。一个好的查询筹划常常可使程序性状进步数十倍。查询筹划是用户所提交的SQL语句的聚集,查询计划是经过优化处置以后所发生的语句聚集。DBMS处置查询筹划的进程是这样的:在做完查询语句的词法、语法检讨以后,将语句提交给DBMS的查询优化器,优化器做完代数优化和存取路径的优化以后,由预编译模块对语句进行处置并生成查询计划,然后在适合的时光提交给体系处置履行,最后将履行成果返回给用户。在实际的数据库产品(如Oracle、Sybase等)的高版本中都是采取基于代价的优化办法,这类优化能依据从体系字典表所得到的信息来估量不同的查询计划的代价,然后选择一个较优的计划。虽然现在的数据库产品在查询优化方面已做得愈来愈好,但由用户提交的SQL语句是体系优化的基本,很难假想一个本来糟的查询筹划经过体系的优化以后会变得高效,因此所写语句的优劣相当主要。下面重点解释改良查询筹划的解决计划。许多程序员以为查询优化是DBMS(数据库教程管理体系)的义务,与程序员所编写的SQL语句关系不大,这




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: