我在 Yii 中使用 MySQL 数据库作为应用程序。该数据库包含小型(如存储用户详细信息)和大型表(存储大型发票数据)。我有连接查询来从大表中获取数据,这使得网站非常慢。所以我启用了 MySQL 查询缓存来提高性能。但这不是一个永久的解决方案。每天之后,数据变得非常庞大。有什么建议可以提高性能吗?有没有其他数据库可以与 Yii 集成来处理大数据查询?
这是查询,
SELECT u.accountnumber, u.chargedescription, ROUND(SUM(u.netamount), 2) as cost, p.value, p.price FROM `reports` `u` JOIN `reportsdata` `p` ON u.trackingnumber=p.value WHERE chargedescriptioncode='003' GROUP BY `u`.`trackingnumber`
“reports”和“reportsdata”都是大型数据表。两者都与trackingnumber相结合,这是一个巨大的列表。因此,每当 trackingnumber 变得很大时,查询就会滞后并杀死 cpu 执行时间。