我有一個查詢從數據庫中選擇任何信息。這些信息我將用於定義文章價格。問題是查詢需要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