我创建了一个java桌面应用程序,它与服务器通信以从mysql获取数据。
目前在服务器上的此查询:
select
ec_transactions.added,
ec_transactions.merchant_id,
---
ec_customer_billing_details.card_payment_method,
---
ec_customer_details.first_name,
---
ec_customer_card_details.card_holde r_name,
---
from
ec_transactions,
ec_customer_billing_details,
ec_customer_details,
ec_customer_card_details
where ec_transactions.transactions_id = tranId
AND ec_customer_billing_details.customer_id = custId
AND ec_customer_details.customer_id = custId
AND ec_customer_card_details.customer_id = custId
太慢了。 我怎样才能更快地完成?
答案 0 :(得分:2)
如果没有在表格中设置,您可以使用说明计划和设置indix来检查,除了可以优化查询外,请查看MySql documentation regarding optimizing statements。
答案 1 :(得分:0)
正确的表索引将有助于更快地执行查询。如果已将列设置为主键,外键或唯一,则无需手动创建索引,因为服务器会自动为你创造它们。但请记住,表上过多的索引会降低这些DML语句的性能,例如INSERT
,UPDATE
和DELETE
。