更快的SQL查询

时间:2013-02-05 07:41:54

标签: mysql sql performance

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

太慢了。 我怎样才能更快地完成?

2 个答案:

答案 0 :(得分:2)

如果没有在表格中设置,您可以使用说明计划和设置indix来检查,除了可以优化查询外,请查看MySql documentation regarding optimizing statements

答案 1 :(得分:0)

正确的表索引将有助于更快地执行查询。如果已将列设置为主键外键唯一,则无需手动创建索引,因为服务器会自动为你创造它们。但请记住,表上过多的索引会降低这些DML语句的性能,例如INSERTUPDATEDELETE