当前位置: 代码迷 >> DB2 >> 执行SQL查询语句出错,数据库被自动停止了,大家帮小弟我看看是什么原因
  详细解决方案

执行SQL查询语句出错,数据库被自动停止了,大家帮小弟我看看是什么原因

热度:7090   发布时间:2013-02-26 00:00:00.0
执行SQL查询语句出错,数据库被自动停止了,大家帮我看看是什么原因?
执行的是
SELECT   *   FROM   A_DAYCURRENTSTATDATA   WHERE   (STATDATE> = '2007-05-29 ')   AND   (STATDATE <= '2007-05-30 ')   AND   (TRANSFORMERID   IN   (1400,1398,1396,1434,1492,1490,1488,1486,1484,1474,1462,1460,1458,1456,1454,1452,1450,1448,1446,1444,1554,1552,1550,1548,1546,1520,1518,1803,1516,1793,1514,1789,1512,1787,1510,1777,1508,1775,1506,1805,1504,1801,1502,1799,1500,1797,1498,1785,1496,1783,1494,1773,1544,1771,1542,1217,1540,1215,1538,1213,1536,1211,1534,1209,1532,1207,1530,1204,1528,1202,1526,1200,1524,1198,1522,1196,1348,1194,1346,1170,1344,1168,1342,1558,1340,1556,1411,1409,1407,1661,1659,1657,1655,1653,1651,1649,1647,1621,1619,1617,1615,1613,1482,1480,1478,1476,1472,1470,1468,1466,1464,1430,1424,1422,1420,1418,1416,1588,1586,1584,1582,1580,1705,1703,1701,1699,1697,1695,1693,1691,1689,1687,1685,1681,1639,1637,1635,1717,1715,1713,1711,1709,1707,1633,1631,1629,1158,1731,1727,1233,1231,1229,1225,1223,1221,1219,1173,1721,1719,1627,1625,1623,1611,1609,1607,1605,1603,1601,1599,1597,1312,1595,1593,1591,1769,1761,1759,1314,1753,1751,1733,1356,1354,1394,1392,1390,1388,1386,1366,1364,1362,1360,1358,1679,1677,1675,1673,1671,1669,1667,1665,1663,1645,1643,1641,1281,1279,1277,1273,1271,1269,1267,1265,1263,1261,1259,1257,1253,1251,1248,1249,1245,1243,1241,1239,1255,1185,1181,1183,1807,1795,1791,1781,1779,1577,1575,1573,1571,1569,1567,1565,1563,1561,1747,1745,1743,1741,1739,1737,1735,1729,1725,1723,1767,1765,1763,1757,1755,1749,1683,1384,1382,1380,1378,1376,1328,1374,1334,1372,1324,1370,1368,1352,1350,1318,1316,1332,1338,1326,1336,1322,1320,1311,1309,1307,1442,1440,1438,1436,1432,1428,1426,1413,1404,1402))

如果把后面的in   (...)部分去掉就没有问题,字段索引也加了,请大家帮着看看会是什么原因啊?

------解决方案--------------------------------------------------------
在IN中是不会用到INDEX的,TRANSFORMERID IN 后面的数字你可以先放到一个表中,语句改成EXISTS,就会用到INDEX,效率高。

------解决方案--------------------------------------------------------
看一下数据库的实例上的db2dialog.log日志,里面有出错的信息,可以查出原因
------解决方案--------------------------------------------------------
SQL 应该没有问题,有的可能只是效率问题,最好能把错误日志帖出来。
  相关解决方案