numpy
查询特定日期时,上面的查询没有GROUP BY子句很快。
问题是当我添加GROUP BY时,即使我在HAVING子句中添加特定的 Date ,它也变得非常慢。
我已经为日期, AssetClass , SecID ,列添加了 htable 的索引货币, MaturityDate ,以及(日期,帐户,货币, MaturityDate )。
这是在MySQL中完成的。你有关于如何加快查询的任何提示(我打算使用查询来查看定义)?谢谢!
答案 0 :(得分:1)
我能看到的第一个可以改进查询性能的索引是:
htable (AssetClass, Date, SecID) -- if Date is more selective than SecID
或
htable (AssetClass, SecID, Date) -- if SecId is more selective than Date
现在,如果您想更进一步,可以通过以下方式索引SUBSTR(h2.Ticker, 7, 3)
的虚拟列:
alter table htable add ticker_currency varchar(3)
generated always as (SUBSTR(h2.Ticker, 7, 3)) virtual;
然后,添加索引:
htable (AssetClass, SecID, Date, ticker_currency)