我有一个查询从数据库中选择任何信息。这些信息我将用于定义文章价格。问题是查询需要3秒钟才能执行。这一次必须为许多文章繁殖。优化查询
如何优化此查询?在关节桌上有16 330行。
这是查询
SELECT ts_scon, AI_CODICIVA,
AI_LIS_EURO1, AI_LIS_EURO2,
AI_LIS_EURO3, AI_LIS_EURO4,
AI_LIS_EURO5, cl_tipocl
FROM tabscon, articoli, clienti
WHERE ts_azienda = 'SRL'
AND AI_AZIENDA = 'SRL'
AND AI_CODIREST = $cod_articolo
AND cl_azienda = 'SRL'
AND cl_codice = $cod_cliente
AND ts_codice IN (
SELECT cl_tabsco
FROM clienti
WHERE cl_codice = $cod_cliente
AND CL_AZIENDA = 'SRL')
AND ts_grusco IN (
SELECT ai_grupscon
FROM articoli
WHERE ai_codirest = $cod_articolo
AND AI_AZIENDA = 'SRL')
这是EXPLAIN结果。结果与没有指数的指数相同。
ID | SELECT_TYPE |表|类型| possible_keys |关键| key_len |裁判|行|额外 1 |主| clienti |常量|主|初级| 25 |常量,常量| 1
1 | PRIMARY | | tabcon | ref | PRIMARY,azie_grsco_codice | PRIMARY | 15 | const | 505 |使用where位置;使用连接缓冲 3 | DEPENDENT SUBQUERY | articoli | REF | PRIMARY,barcodeidx,StatoAidx,Statoidx StatoAidx | 15 |常量| 7311 |使用其中 2 | DEPENDENT | SUBQUERY | clienti |常量| PRIMARY
对不起小小的顺序,但还不实际。
运行查询丝毫'DESCRIBE'它的盈方,向我们展示了输出 – 2012-07-11 16:08:29
您可以发布EXPLAIN以及输出? – 2012-07-11 16:08:40
a SHOW CREATE TABLE tablename for the 3 tables:tabscon,articoli and clienti whould be nice to – 2012-07-11 16:12:56