mysql查询的优化

mysql查询的优化,mysql,Mysql,在我的生产数据库性能问题 我的sql查询需要很长时间才能执行,因此下面的示例介绍了如何优化下面的mysql查询 select sum(distributor_earning) as col_0_0_, sum(distributor_share) as col_1_0_ from my_transaction mytransac0_ cross join del_transaction deltran1_ cross join user user3_ where mytransac0_.

在我的生产数据库性能问题

我的sql查询需要很长时间才能执行,因此下面的示例介绍了如何优化下面的mysql查询

select sum(distributor_earning) as col_0_0_, sum(distributor_share) as col_1_0_ 
from my_transaction mytransac0_ 
cross join del_transaction deltran1_ 
cross join user user3_ 
where mytransac0_.del_transaction_id=deltran1_.id and deltran1_.agent_parent_id=user3_.id and deltran1_.trx_status=4 and user3_.username='xyz';
它给出以下输出

+-----------+-----------+
| col_0_0_  | col_1_0_  |
+-----------+-----------+
| 579239.27 | 630557.77 |
+-----------+-----------+
一行一组(15.14秒)

我有超过10万张唱片


如果条件索引是在del_事务id中生成的,则创建视图以提高性能


请参阅创建视图以提高性能


参考

您是否尝试过sql索引? 在mysql上尝试此查询

CREATE INDEX INDEX_FAST_2
ON user(id, username);

成功后,再次尝试运行查询。

您是否尝试过sql索引? 在mysql上尝试此查询

CREATE INDEX INDEX_FAST_2
ON user(id, username);
成功后,再次尝试运行查询。

首先,您应该将
WHERE
子句替换为
ON
子句。 有关
WHERE
ON
之间差异的更多详细信息:

其次,最好在查询中涉及的列上创建索引。 当您完成这两个步骤时,它将运行得更快。

首先,您应该将
WHERE
子句替换为
ON
子句。 有关
WHERE
ON
之间差异的更多详细信息:

其次,最好在查询中涉及的列上创建索引。 当您完成这两个步骤时,它将运行得更快。

猜测“10万条记录”意味着您有10万条记录。请不要使用印地语。猜测“10万条记录”意味着你有10万条记录。请不要使用印度语。