Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
改进查询Mysql_Mysql - Fatal编程技术网

改进查询Mysql

改进查询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

我在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 
                           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秒:)