MySQL使用临时表加速查询的方法

 更新时间:2014年12月18日 10:24:33   投稿:shichen2014  
这篇文章主要介绍了MySQL使用临时表加速查询的方法,分析了针对多次重复查询使用临时表的优势,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了MySQL使用临时表加速查询的方法。分享给大家供大家参考。具体分析如下:

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

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

复制代码 代码如下:
SELECT cust.name,rcVBles.balance,……other columns 
SELECT cust.name,rcVBles.balance,……other columns 
FROM cust,rcvbles 
WHERE cust.customer_id = rcvlbes.customer_id 
AND rcvblls.balance>0 
AND cust.postcode>"98000" 
ORDER BY cust.name

如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个临时文件中,并按客户的名字进行排序:
复制代码 代码如下:
SELECT cust.name,rcvbles.balance,……other columns 
SELECT cust.name,rcvbles.balance,……other columns 
FROM cust,rcvbles 
WHERE cust.customer_id = rcvlbes.customer_id 
AND rcvblls.balance>0 
ORDER BY cust.name 
INTO TEMP cust_with_balance

然后以下面的方式在临时表中查询:
复制代码 代码如下:
SELECT * FROM cust_with_balance
WHERE postcode>"98000"

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

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

希望本文所述对大家的MySQL数据库程序设计有所帮助。

相关文章

  • mysql中decimal数据类型小数位填充问题详解

    mysql中decimal数据类型小数位填充问题详解

    这篇文章主要介绍了mysql中decimal数据类型小数位填充问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 详解数据库多表连接查询的实现方法

    详解数据库多表连接查询的实现方法

    这篇文章主要介绍了详解数据库多表连接查询的实现方法的相关资料,希望通过本文大家能够掌握数据库多表查询的方法,需要的朋友可以参考下
    2017-09-09
  • 教你为MySQL数据库换挡加速

    教你为MySQL数据库换挡加速

    如果你是个赛车手,并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是什么感觉呢?MySQL数据库为开发人员所做的就好像是按按钮换引擎;它让你选择数据库引擎,并给你一条简单的途径来切换它。
    2010-02-02
  • 浅谈Mysql8和mysql5.7的区别

    浅谈Mysql8和mysql5.7的区别

    本文主要介绍了Mysql8和mysql5.7的区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • mysql 控制台操作

    mysql 控制台操作

    其实MYSQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。
    2009-06-06
  • 寻找sql注入的网站的方法(必看)

    寻找sql注入的网站的方法(必看)

    下面小编就为大家带来一篇寻找sql注入的网站的方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • MySQL查看目前运行状况的两种方法

    MySQL查看目前运行状况的两种方法

    这篇文章给大家简单的介绍一下MySQL查看目前运行状况命令,希望文章对大家会带来一些帮助
    2014-02-02
  • MySQL 使用 ORDER BY 排序和 DELETE 删除记录的操作过程

    MySQL 使用 ORDER BY 排序和 DELETE 删

    这篇文章主要介绍了MySQL 使用 ORDER BY 排序和 DELETE 删除记录的操作过程,即数据库查询与数据操作,本文通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-11-11
  • MySQL数据表合并去重的简单实现方法

    MySQL数据表合并去重的简单实现方法

    这篇文章主要给大家介绍了关于MySQL数据表合并去重的简单实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • MySQL禁用InnoDB引擎的方法

    MySQL禁用InnoDB引擎的方法

    这篇文章主要介绍了MySQL禁用InnoDB引擎的方法,针对的Mysql版本是5.5和5.6,使用了两种不同的配置文件,需要的朋友可以参考下
    2014-05-05

最新评论