示例检索 SQL查询语句的执行效率优化

通过以下3种途径优化了SQL语句执行速度,从平均20秒降低到8秒。

(1) 原来没有使用my.cnf, 这次基于my-huge.cnf产生了自己的my.cnf。

(2)去掉了DocQualifying(),即不再生成临时表 TempTable7,也不需要为TempTable7在字段DocID上建立索引。

(3)   去掉了一个MySQL的function----TermFreq_Discount(), 去掉它后,92个查询试验每个至少比原来减少2秒。

 

尚有下面措施可以考虑进一步提高SQL语句执行速度。

(1)目前,每次查询都先建立与数据库的连接(connect),然后再disconnect。这样的来回操作很费时间。将来可以采用 http://www.alhem.net/project/mysql 所提供的方法,利用连接池实现与数据库的连接管理。

(2) 利用MySQL Cluster 机制。

 (3) 在op710-2机上的QueryTask_Answer表的RetrievedDocID上建立索引,以此提高SELECT语句的查询速度。

 

那位看到这个帖子的朋友,如果对提高SQL语句的执行速度有什么独到的经验和见解,请留下你的宝贵经验。

 

你可能感兴趣的:(sql)