改进查询Mysql
我在mysql中改进这一系列查询的性能时遇到了困难。 所涉及的两个表:TAB_PRODOTTI和TAB_PRODOTTI\u provisoria具有完全相同的列,并进行了排序改进查询Mysql,mysql,Mysql,我在mysql中改进这一系列查询的性能时遇到了困难。 所涉及的两个表:TAB_PRODOTTI和TAB_PRODOTTI\u provisoria具有完全相同的列,并进行了排序 UPDATE wfpdb.TAB_PRODOTTI AA SET AA.PRODOTTO_DESC = (SELECT PRODOTTO_DESC FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.PRODOTTO_DESC = (SELECT PRODOTTO_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.PRODOTTO_SCHEDA = (SELECT PRODOTTO_SCHEDA
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.ATTIVITA_SCHEDA = (SELECT ATTIVITA_SCHEDA
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.TITOLO_PRODOTTO_MANUALE = (SELECT TITOLO_PRODOTTO_MANUALE
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.CANALE = (SELECT CANALE
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.PERCORSO = (SELECT PERCORSO
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.MODALITA_RIVELAZIONE = (SELECT MODALITA_RIVELAZIONE
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.COEFF_OMOG_DEFINITO_1 = (SELECT COEFF_OMOG_DEFINITO_1
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.COEFF_OMOG_DEFINITO_2 = (SELECT COEFF_OMOG_DEFINITO_2
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.COEFF_OMOG_DEFINITO_3 = (SELECT COEFF_OMOG_DEFINITO_3
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.ALLEGATO_1 = (SELECT ALLEGATO_1
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.ALLEGATO_2 = (SELECT ALLEGATO_2
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.ALLEGATO_1_DESC = (SELECT ALLEGATO_1_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.ALLEGATO_2_DESC = (SELECT ALLEGATO_2_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.ALLEGATO_1_DESC = (SELECT ALLEGATO_1_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.PRODOTTO_PIANO_PROD = (SELECT PRODOTTO_PIANO_PROD
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.PRODOTTO_SUSSIDIARIETA = (SELECT PRODOTTO_SUSSIDIARIETA
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.NOTE = (SELECT NOTE
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.MODELLO_DESC = (SELECT MODELLO_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.AGGREGATO_DESC = (SELECT AGGREGATO_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.PROCESSO_DESC = (SELECT PROCESSO_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.LINEA_SERVIZIO_DESC = (SELECT LINEA_SERVIZIO_DESC
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
UPDATE wfpdb.TAB_PRODOTTI AA
SET AA.DT_FINE = (SELECT DT_FINE
FROM wfpdb.TAB_PRODOTTI_PROVVISORIA BB
WHERE AA.PRODOTTO_CD = BB.PRODOTTO_CD
AND AA.MODELLO_CD = BB.MODELLO_CD);
如有任何建议,我们将不胜感激。
提前感谢:)如果您在这些查询中有相同的连接列,那么您可以在一个查询中更新多个列,例如 更新 产品标签AA,产品标签BB 设置AA.column1=BB.column1, AA.column2=BB.column2 AA.column3=BB.column3
其中AA.PRODOTTO_CD=BB.PRODOTTO_CD和AA.MODELLO_CD=BB.MODELLO_CD看起来所有子查询都有相同的
WHERE
子句。也许这会让你开始。谢谢,但这对执行时间没有帮助不幸的是,将所有查询执行时间与单个查询执行时间之和进行比较,可以节省多个时间加入表/点击服务器等。我的错,非常感谢,从35秒增加到4秒:)