search
HomeDatabaseMysql TutorialMySQL如何使用临时表_MySQL

bitsCN.com MySQL如何使用临时表 【临时表存储】MySQL临时表分为“内存临时表”和“磁盘临时表”,其中内存临时表使用MySQL的MEMORY存储引擎,磁盘临时表使用MySQL的MyISAM存储引擎;一般情况下,MySQL会先创建内存临时表,但内存临时表超过配置指定的值后,MySQL会将内存临时表导出到磁盘临时表。     【使用临时表的场景】1)ORDER BY子句和GROUP BY子句不同,例如:ORDERY BY price GROUP BY name; 2)在JOIN查询中,ORDER BY或者GROUP BY使用了不是第一个表的列例如:SELECT * from TableA, TableB ORDER BY TableA.price GROUP by TableB.name 3)ORDER BY中使用了DISTINCT关键字ORDERY BY DISTINCT(price) 4)SELECT语句中指定了SQL_SMALL_RESULT关键字SQL_SMALL_RESULT的意思就是告诉MySQL,结果会很小,请直接使用内存临时表,不需要使用索引排序SQL_SMALL_RESULT必须和GROUP BY、DISTINCT或DISTINCTROW一起使用一般情况下,我们没有必要使用这个选项,让MySQL服务器选择即可。 【直接使用磁盘临时表的场景】1)表包含TEXT或者BLOB列;2)GROUP BY 或者 DISTINCT 子句中包含长度大于512字节的列;3)使用UNION或者UNION ALL时,SELECT子句中包含大于512字节的列;   【临时表相关配置】tmp_table_size:指定系统创建的内存临时表最大大小;http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_tmp_table_size max_heap_table_size: 指定用户创建的内存表的最大大小;http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_max_heap_table_size 注意:最终的系统创建的内存临时表大小是取上述两个配置值的最小值。 【表的设计原则】使用临时表一般都意味着性能比较低,特别是使用磁盘临时表,性能更慢,因此我们在实际应用中应该尽量避免临时表的使用。如果实在无法避免,也应该尽量避免使用磁盘临时表。 常见的方法有:1)创建索引:在ORDER BY或者GROUP BY的列上创建索引,这样可以避免使用临时表;2)分拆很长的列,可以避免使用磁盘临时表:一般情况下,TEXT、BLOB,大于512字节的字符串,基本上都是为了显示信息,而不会用于查询条件,因此表设计的时候,应该将这些列独立到另外一张表。     【如何判断使用了临时表】使用explain查看执行计划,Extra列看到Using temporary就意味着使用了临时表。 MySQL官方手册:http://dev.mysql.com/doc/refman/5.1/en/internal-temporary-tables.html   摘自 追梦人-技术博客 bitsCN.com

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Vue3+TS+Vite开发技巧:如何进行数据加密和存储Vue3+TS+Vite开发技巧:如何进行数据加密和存储Sep 10, 2023 pm 04:51 PM

Vue3+TS+Vite开发技巧:如何进行数据加密和存储随着互联网技术的快速发展,数据的安全性和隐私保护变得越来越重要。在Vue3+TS+Vite开发环境下,如何进行数据加密和存储,是每个开发人员都需要面对的问题。本文将介绍一些常用的数据加密和存储的技巧,帮助开发人员提升应用的安全性和用户体验。一、数据加密前端数据加密前端加密是保护数据安全性的重要一环。常用

如何在 Windows 11 上清理缓存:详细的带图片教程如何在 Windows 11 上清理缓存:详细的带图片教程Apr 24, 2023 pm 09:37 PM

什么是缓存?缓存(发音为ka·shay)是一种专门的高速硬件或软件组件,用于存储经常请求的数据和指令,这些数据和指令又可用于更快地加载网站、应用程序、服务和系统的其他部分。缓存使最常访问的数据随时可用。缓存文件与缓存内存不同。缓存文件是指经常需要的文件,如PNG、图标、徽标、着色器等,多个程序可能需要这些文件。这些文件存储在您的物理驱动器空间中,通常是隐藏的。另一方面,高速缓存内存是一种比主内存和/或RAM更快的内存类型。它极大地减少了数据访问时间,因为与RAM相比,它更靠近CPU并且速度

PHP和swoole如何实现高效的数据缓存和存储?PHP和swoole如何实现高效的数据缓存和存储?Jul 23, 2023 pm 04:03 PM

PHP和swoole如何实现高效的数据缓存和存储?概述:在Web应用开发中,数据的缓存和存储是非常重要的一部分。而PHP和swoole提供了一种高效的方法来实现数据的缓存与存储。本文将介绍如何使用PHP和swoole来实现高效的数据缓存和存储,并给出相应的代码示例。一、swoole简介:swoole是一个针对PHP语言开发的,高性能的异步网络通信引擎,它可以

使用PHP数组实现数据缓存和存储的方法和技巧使用PHP数组实现数据缓存和存储的方法和技巧Jul 16, 2023 pm 02:33 PM

使用PHP数组实现数据缓存和存储的方法和技巧随着互联网的发展和数据量的急剧增长,数据缓存和存储成为了我们在开发过程中必须要考虑的问题之一。PHP作为一门广泛应用的编程语言,也提供了丰富的方法和技巧来实现数据缓存和存储。其中,使用PHP数组进行数据缓存和存储是一种简单而高效的方法。一、数据缓存数据缓存的目的是为了减少对数据库或其他外部数据源的访问次数,从而提高

一文读懂人工智能表:从MindsDB说起一文读懂人工智能表:从MindsDB说起Apr 12, 2023 pm 12:04 PM

本文转载自微信公众号「活在信息时代」,作者活在信息时代。转载本文请联系活在信息时代公众号。对于熟悉数据库操作的同学来说,编写优美的SQL语句,从数据库中想方设法找出自己需要的数据,是常规操作了。而对于熟悉机器学习的同学来说,获取数据,对数据进行预处理,建立模型,确定训练集和测试集,用训练好的模型对未来进行一系列的预测,也是一种常规操作了。那么,我们能否将两种技术结合起来呢?我们看到数据库里存储了数据,而进行预测需要基于以往的数据。如果我们通过数据库里现有的数据,对于未来的数据进行查询的话,那么是

威刚工控新一代高性能存储赋能AI时代威刚工控新一代高性能存储赋能AI时代Sep 22, 2023 pm 10:29 PM

9月19日,中国国际工业博览会的第二十三届正式开幕。本届工博会的主题是“碳循新工业、数聚新经济”,规模庞大,能级高,展品丰富,共有2800多家国内外展商参展。其中,威刚工控作为工业嵌入式存储领导品牌,围绕人工智能应用需求,重点展示了高性能存储解决方案,并展示了网络安全人工智能边缘计算设备、人工智能视觉控制器以及人工智能大数据分析设备的客户样机成功案例。通过展示有效解决人工智能场景中的难题和痛点的解决方案,为人工智能时代提供了新一代高性能存储技术的支持威刚展台的C位区域全面展示了各种主流规格的存储

PHP写入文件:实现数据输出和存储PHP写入文件:实现数据输出和存储Sep 06, 2023 am 09:19 AM

PHP写入文件:实现数据输出和存储在Web开发中,经常需要将数据写入到文件中进行存储或输出。PHP作为一门广泛应用于Web开发的脚本语言,提供了多种方法和函数来实现文件的写入操作。本文将介绍PHP中常用的几种写入文件的方法,并给出相应的代码示例。使用file_put_contents()函数file_put_contents()函数是PHP中最常用的文件写入

如何实现MySQL中查看表的数据的语句?如何实现MySQL中查看表的数据的语句?Nov 08, 2023 pm 01:40 PM

标题:MySQL中查看表的数据的语句及具体代码示例MySQL是一种开源的关系型数据库管理系统,它被广泛应用于各种规模的应用程序中。在MySQL中,查看表的数据是一个非常基础的操作,下面将介绍如何通过具体的语句和代码示例实现这一操作。首先,我们将介绍通过MySQL命令行工具查看表的数据的语句及具体代码示例。假设我们有一个名为“employees”的表,以下是通

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment