使用MySQL临时表加速查询

使用MySQL临时表,有时是可以加速查询的,下面就为您详细介绍使用MySQL临时表加速查询的方法,希望对您有所帮助。

成都创新互联是专业的邢台网站建设公司,邢台接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行邢台网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

把表的一个子集进行排序并创建MySQL临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。例如:

 
 
 
  1. SELECT cust.name,rcVBles.balance,……other columns  
  2.  
  3. SELECT cust.name,rcVBles.balance,……other columns  
  4.  
  5. FROM cust,rcvbles  
  6.  
  7. WHERE cust.customer_id = rcvlbes.customer_id  
  8.  
  9. AND rcvblls.balance>0  
  10.  
  11. AND cust.postcode>“98000”  
  12.  
  13. ORDER BY cust.name   

如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个临时文件中,并按客户的名字进行排序:

 
 
 
  1. SELECT cust.name,rcvbles.balance,……other columns  
  2.  
  3. SELECT cust.name,rcvbles.balance,……other columns  
  4.  
  5. FROM cust,rcvbles  
  6.  
  7. WHERE cust.customer_id = rcvlbes.customer_id  
  8.  
  9. AND rcvblls.balance>0  
  10.  
  11. ORDER BY cust.name  
  12.  
  13. INTO TEMP cust_with_balance   

然后以下面的方式在临时表中查询: SELECT * FROM cust_with_balance

WHERE postcode>“98000”
临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大幅减少。

注意:临时表创建后不会反映主表的修改。在主表中数据频繁修改的情况下,注意不要丢失数据。

【编辑推荐】

查看MySQL二进制日志的方法

mysql日志文件的详细说明

重定位MySQL数据目录的方法

MySQL数据库表的表示

MySQL数据目录的位置

标题名称:使用MySQL临时表加速查询
文章路径:http://www.shufengxianlan.com/qtweb/news26/268926.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联