-1

我创建了一个 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 

太慢了。 我怎样才能更快地做到这一点?

4

2 回答 2

2

如果没有在表上设置,您可以使用解释计划和设置索引来检查这一点,除了您可以优化查询外,请查看有关优化语句的 MySql 文档

于 2013-02-05T07:51:11.353 回答
0

正确的表索引将有助于更快的查询性能。如果列已设置为primary keyforeign keyunique ,则无需手动创建索引,因为服务器会自动为您创建它们。但请始终记住,表上的索引过多会降低这些 DML 语句(例如INSERTUPDATEDELETE.

于 2013-02-05T08:17:06.443 回答