java - compromis entre performances SQL et concurrence élevée
PHP中文网
PHP中文网 2017-05-17 10:09:04
0
1
619

SÉLECTIONNER

        S.carOwnerID ,
        S.name,
        S.mobile,
        S.coopName,
        S.VIN,
        s.policyNO,
        S.effectiveDate,
        S.expiryDate,
        s.plateNo,
        (
            CASE
            WHEN s.num > 1 THEN
                1
            WHEN s.num = 1 THEN
                0
            END
        ) AS carState
    FROM
        (
            SELECT
                c.carOwnerID,
                c.name,
                c.mobile,
                c.coopName,
                c.VIN,
                p.policyNO,
                p.effectiveDate,
                p.expiryDate,
                c.plateNo,
                count(p.PlateNo) AS num
            FROM
                customer C
            LEFT JOIN policy P ON C.carOwnerID = P.carOwnerID
            WHERE
                date_add(
                    P.createTime,
                    INTERVAL 11.5 HOUR
                ) > NOW()
    
    ) s
    WHERE
        s.num > 0;

Il est possible d'utiliser simplement la corrélation multi-tables. Si vous rencontrez une concurrence élevée, des défauts de performances apparaîtront immédiatement

.
PHP中文网
PHP中文网

认证0级讲师

répondre à tous(1)
漂亮男人

L'association multi-tables ne signifie pas des performances SQL élevées. La perte d'efficacité d'un SQL trop complexe n'est pas inférieure aux verrous externes, etc., et il n'y a pas de conflit avec une concurrence élevée.

Il est recommandé de diviser le relevé en relevés simples et d'utiliser des mécanismes de verrouillage et de compensation pour garantir la transactionnalité.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal