`
nathan.wu
  • 浏览: 48778 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

how does mysql create temporary table?

阅读更多
how does mysql create temporary table?
if you running GROUP BY and some other kinds of queries MySQL needs to create temporary tables, which can be created in memory, using MEMORY storage engine or can be created on disk as MYISAM tables. Which one will be used depends on the allowed tmp_table_size and also by the data which needs to be put to temporary tables - BLOB/TEXT columns are not supported with MEMORY storage engine so must use on disk MyISAM temporary table.

if you want to reduce disk base table creation, you also need take care max_heap_table_size parameter.
normally max_heap_table_size <= tmp_table_size

why you need to avoid disk base table?
here is a article http://www.mysqlperformanceblog.com/2007/08/16/how-much-overhead-is-caused-by-on-disk-temporary-tables/
the point of that article is:
MEMORY temporary tables can be 10-100 times faster than disk based MyISAM tables
分享到:
评论

相关推荐

    MySQL Temporary Table相关问题的探究1

    在MySQL中,Temporary Tables(临时表)是一种特殊的数据存储结构,它们只在当前会话(session)中存在,不会影响到其他会话。这使得它们非常适合用于存储在复杂查询过程中的中间结果,尤其是在处理大数据集时。让...

    MySQL中create table语句的基本语法是

    MySQL中create table语句的基本语法是: Create [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,…)] [table_options] [select_statement] TEMPORARY:该关键字表示用create table...

    MySQL中的两种临时表

    外部临时表是通过`CREATE TEMPORARY TABLE`语句创建的,它对当前用户可见,并且仅在当前会话期间存在。这种表的生命周期与会话同步,会话结束后,临时表会自动被删除。值得注意的是,外部临时表的名称可以与常规表...

    sql-create-table.zip_Table

    使用`CREATE TEMPORARY TABLE`创建的表只在当前会话中存在,会话结束时自动删除。 15. **索引**: 可以通过`CREATE INDEX`创建索引,提高查询性能,如: ```sql CREATE INDEX idx_Name ON Employees (Name); `...

    mysql临时表用法分析【查询结果可存在临时表中】

    创建临时表的基本语法是 `CREATE TEMPORARY TABLE`,通常在执行大型查询后,将结果存储在临时表中可以提高效率。例如,以下是一个创建临时表的例子: ```sql CREATE TEMPORARY TABLE tmp_table_name ( column1 ...

    Oracle存储过程中使用临时表

    CREATE GLOBAL TEMPORARY TABLE temp_table ( column1 datatype, column2 datatype, ... ) ON COMMIT DELETE ROWS; ``` 这里的`ON COMMIT DELETE ROWS`选项表示当事务提交时,表中的所有数据将被删除。 2. *...

    mysql 临时表 cann’t reopen解决方案

    如: 代码如下: create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null); 或 代码如下: create temporary table if not exists sp_output_tmp engine= memory select …from … ...

    mysql 临时表 cann't reopen解决方案

    CREATE TEMPORARY TABLE tmp_table(name VARCHAR(10) NOT NULL, passwd CHAR(6) NOT NULL); ``` 或者,如果表不存在,可以使用`IF NOT EXISTS`选项: ```sql CREATE TEMPORARY TABLE IF NOT EXISTS sp_output_...

    mySQL基础语法,介绍mysql的语法基础

    此外,`CREATE TEMPORARY TABLE` 用于创建仅对当前连接可见的临时表。当连接关闭时,临时表会自动删除。创建和使用临时表的例子如下: ```sql CREATE TEMPORARY TABLE temp1 (sid INT, sname VARCHAR(10)); INSERT ...

    longxuegang#MySQL5.7#241-临时表优化1

    1.背景MySQL包括两类临时表,一类是通过create temporary table创建的临时表,一类是在query过程中using temporary而创

    SpringBoot 整合Mybatis 创建临时表

    @Insert("CREATE TEMPORARY TABLE IF NOT EXISTS temp_table (id INT PRIMARY KEY, name VARCHAR(255))") void createTempTable(); @Select("SELECT * FROM temp_table") List&lt;TempTable&gt; selectFromTempTable...

    CREATE TABLESPACE命令详解

    ### CREATE TABLESPACE 命令详解 在数据库管理中,`CREATE TABLESPACE` 命令是用于创建新的表空间的基础指令。表空间是数据库逻辑存储结构中的一个基本单位,用于存储数据文件、索引等数据库对象。通过合理地规划和...

    mysql提示[Warning] Invalid (old?) table or database name问题的解决方法

    在提供的描述中,问题出现在执行包含`DROP TABLE IF EXISTS`、`CREATE TEMPORARY TABLE`以及`ALTER TABLE`语句的操作后。这可能意味着在创建临时表的过程中出现了问题,可能是由于临时表的命名冲突、表结构定义错误...

    mysql常用命令大全-最完整版

    - 创建临时表:`create temporary table zengchao(name varchar(10));` - 创建表时先判断表是否存在:`create table if not exists students(...);` - 从现有表复制结构创建新表:`create table table2 select * ...

    mysql命令大全

    - `CREATE TEMPORARY TABLE zengchao (name VARCHAR(10));`:创建临时表`zengchao`。 - **修改表**: - `ALTER TABLE table_name ADD column_name data_type;`:向表`table_name`中添加新的列。 - `ALTER TABLE ...

    mysql 数据库命令大全

    - `CREATE TEMPORARY TABLE tempTableName (columnDefinitions);` - 例如:`CREATE TEMPORARY TABLE zengchao (name VARCHAR(10));` #### 八、索引管理 - **创建索引**: - `CREATE INDEX indexName ON ...

    Mysql临时表和派生表

    CREATE TEMPORARY TABLE temp_table (id INT, name VARCHAR(50)); ``` **1.4 查看与删除临时表** - **查看临时表**:可以使用`SHOW CREATE TABLE`命令查看临时表的定义。 ```sql SHOW CREATE TABLE temp_table;...

    mysql命令大全很详细

    - 使用 `create temporary table zengchao(name varchar(10));` 可以创建一个临时表。 - **条件创建表**: - `create table if not exists students(……);` 用于仅在不存在时创建表。 - **复制表结构**: - `...

Global site tag (gtag.js) - Google Analytics