Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 执行「;选择WHERE WEEKDAY()=something";陈述_Mysql - Fatal编程技术网

Mysql 执行「;选择WHERE WEEKDAY()=something";陈述

Mysql 执行「;选择WHERE WEEKDAY()=something";陈述,mysql,Mysql,一个非常简单的问题。 我有一个表,它代表着超过1百万行的收据,并且必须按一周中的哪一天对它进行过滤/分组。 例如:从统计上告诉我发出更多收据的一周中的哪一天 那就是人们总共花更多钱的那个?每张收据呢 我知道怎么做,我唯一关心的是性能。 我曾考虑添加一个全新的领域“一周中的一天”,但这样我不得不修改和重新测试很多代码 因此,WEEKDAY(Date_字段)比专用字段更快/相同,或者更好地返工表格?使用WEEKDAY,读取整个表格,并为每一行调用函数。 如果使用带有索引的专用字段,则只读取索引。 因

一个非常简单的问题。 我有一个表,它代表着超过1百万行的收据,并且必须按一周中的哪一天对它进行过滤/分组。 例如:从统计上告诉我发出更多收据的一周中的哪一天 那就是人们总共花更多钱的那个?每张收据呢

我知道怎么做,我唯一关心的是性能。 我曾考虑添加一个全新的领域“一周中的一天”,但这样我不得不修改和重新测试很多代码


因此,WEEKDAY(Date_字段)比专用字段更快/相同,或者更好地返工表格?

使用WEEKDAY,读取整个表格,并为每一行调用函数。
如果使用带有索引的专用字段,则只读取索引。
因此,性能问题非常清楚


但你描述的问题似乎只是偶尔的分析。我认为这种偶然查询的性能不应该要求对代码进行重构。对于特殊的数据钻孔查询,可以接受一些延迟

我怀疑它是否能够索引该表达式,因此它必须为所选的每一行计算它。这将是昂贵的。尽管只有14%的选择性,扫描可能比寻找非覆盖索引更快。