MariaDB生成的列与内置函数相比,哪一个更快?

MariaDB生成的列与内置函数相比,哪一个更快?,mariadb,query-optimization,Mariadb,Query Optimization,默认情况下,“日期”字段为YYYY-MM-DD 问题1: select date_format(`date`,'%d-%m-%Y') from myTable; 问题2: select `genDate` from myTable; 作为genDate的date\u格式(日期,'%d-%m-%Y')是一个虚拟的、非索引的、生成的列。对于非持久的、非索引的列,这两个查询是等效的 在其他情况下——如果列是持久的并被索引了——那么查询2将受益于索引,跳过主存储并读取(很可能)较小的索引,使用类似于

默认情况下,“日期”字段为YYYY-MM-DD

问题1:

select date_format(`date`,'%d-%m-%Y') from myTable;
问题2:

select `genDate` from myTable;

作为genDate的
date\u格式(日期,'%d-%m-%Y')是一个虚拟的、非索引的、生成的列。

对于非持久的、非索引的列,这两个查询是等效的

在其他情况下——如果列是持久的并被索引了——那么查询2将受益于索引,跳过主存储并读取(很可能)较小的索引,使用类似于完全索引扫描的操作。那会使它更快

但一般来说,这两个查询在资源和性能方面是等效的