Clean SQL:我是否应该引用我可以在我的数据库中查询的日期?

Clean SQL: Should I reference dates that I could ask for in my database?

我的数据库中有数百万行 SQLite Studio。 我想问一下我可以有几个月。 当我做我的请求时,它需要很长时间(5 分钟,比我一个月获取数据所用时间的一半还多!)

--How I call for months BTW -- 
SELECT DISTINCT strftime('%Y-%m', time_UTC) AS month FROM transacts ORDER BY month ASC;

如果我创建一个包含所有可用月份的 table 可能会非常快,但我听到脑海中有一个小声音告诉我:

YOU HAVE NOT TO MAKE A DATE TABLE

但我不记得它是否不好以及为什么。对我来说听起来不错。 请问你怎么看?

编辑: 如何在可用日期

上加快请求 SQL

您可以在表达式 strftime('%Y-%m', time_UTC) 上创建索引以获得更好的性能:

CREATE INDEX id_transacts_time ON transacts(strftime('%Y-%m', time_UTC));

检查demo使用索引的查询计划。