sql - 痛苦缓慢的 DB2 查询

标签 sql database db2

这个查询非常慢,我们的团队无法找出原因。我们已经尝试创建 View ,但它仍然非常慢。有什么想法吗?

SELECT 
    CI . CWARCASNBR AS CASENUMBER , 
    CI . CT1FYA AS COURTAGENCYCODE , 
    CI . CIPTYSQNBR AS PARTYSEQNBR , 
    CI . CIRCDTYPE AS CASETYPECODE , 
    CP . NMELASTBUS AS LASTNAME , 
    CP . NAME_FIRST AS FIRSTNAME , 
    CP . NAME_MID AS MIDDLENAME , 
    CP . NAME_SUFFX AS SUFFIX , 
    CP . CP_SEX AS GENDER , 
    CP . CT1PA AS RACECODE , 
    CP . CP_DOB AS DOB , 
    CP . CP_SSN AS SSN , 
    A . STREETNAME AS ADDRESS1 , 
    A . ADDRLINE2 AS ADDRESS2 , 
    A . CITYPARISH AS CITY , 
    A . ADDRSTATE AS STATE , 
    A . ZIPCODE AS ZIP 
FROM 
    CMSDPL23 . JE026001 AS CP 
  LEFT OUTER JOIN 
    CMSDPR23 . JE215000 CI ON 
    CP . JEBOA = CI . CWARCASNBR AND 
    CP . CT1FYA = CI . CT1FYA AND 
    CP . CP_SEQ_NBR = CI . CIPTYSQNBR 
  LEFT OUTER JOIN 
    CMSDPR23 . CT007000 A ON CP . ADDRESSID = A . ADDRESSID 
                         AND CP . ADDRESSPRI = A . ADDIDSEQNO 
WHERE 
    CP . NMELASTBUS LIKE 'Durham' || '%' AND 
    CP . NAME_FIRST LIKE 'Roger%' || '%' AND 
    NOT CP . PRTY_TCDE IN ( 'OFF' , 'BEP' ) AND 
    CI . CI_FLAG_1 IN ( 'C' , 'B' ) AND 
    CI . CT1MKA = '23' 
ORDER BY 
    CI . CWARCASNBR , CI . CT1FYA ; 

最佳答案

对于初学者来说,所有的外键关系都被索引了吗? (例如,CMSDPR23.JE215000CP.JEBOA

其次,LIKE 强制进行全表搜索。您可以索引 NMELASTBUSNAME_FIRST(等等...)并检查匹配项吗?

第三,你的WHERE子句中的字段是否被索引了?

关于sql - 痛苦缓慢的 DB2 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289045/

相关文章:

python - 尝试 INSERT 到 MySQL 时不断出现错误

mysql - 如何获取按月分组的总工作时间?

java - 如何预填充 GAE 本地数据库

php - 迷失在如何开始使用 php 学习数据库

database - DB2 中的 COUNT(1)

python - 使用 Flask 和 sqlalchemy 插入到 Db2

mysql - SQL求和计算困惑

SQL 运行总计按限制分组

MySQL 如何在求和中使用减法

.net - 连接到 AS400/DB2 时在 .NET 中使用 OLEDB 参数