建立索引可以提高查询效率,MySQL 临时表也可以建立索引。可以在创建临时表时,通过在后面加上“CREATE INDEX”语句来新建索引,例如:
CREATE TEMPORARY TABLE tmp_table (id INT, name VARCHAR(30), INDEX index_name (name));
上面的语句中,“INDEX index_name (name)”表示在临时表中建立了一个名为“index_name”的索引,该索引以“name”字段为索引。
虚拟列是指在表中可以添加一个不存在的列,使用时在 SELECT 语句中通过计算得到需要的结果。在 MySQL 中,实现虚拟列可使用计算列的方式,例如:
SELECT name, age, salary, (age * salary) AS total_salary FROM employee;
上面的语句中,最后一列“total_salary”就是通过计算得到的虚拟列,该列的计算方式是“age * salary”。
在 MySQL 临时表中也可以添加虚拟列,并通过计算为其赋值。临时表中添加虚拟列的语法如下:
CREATE TEMPORARY TABLE tmp_table (id INT, name VARCHAR(30), age INT, salary INT, total_salary INT AS (age * salary));
上面的语句中,“INT AS (age * salary)”表示添加了一个名为“total_salary”的虚拟列,该列的值通过计算“age * salary”得出。