Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: CMT1.5.3
-
Fix Version/s: CMT1.5.4
-
Component/s: CUBRID Migration Toolkit
-
Labels:None
Description
bug2> see the SQL log. When the CMT verified the statement, it uses a sub-query which may conduct a full scan. If you think there is over 1000,000,000 records, then it will take more than 20 minutes until it finishes the test. The test query should be changed to something simple and short.
SELECT * FROM ( select * from cos_sms where sms_id < '201108280000000000' ) AS T WHERE ROWNUM = 0
JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000
LONG_TRANSACTION_TIME:60.00, LONG_QUERY_TIME:60.00, SESSION_TIMEOUT:300
KEEP_CONNECTION:AUTO, ACCESS_MODE:SO
----------------------------------------------------------------------------------------------------------------------------------
ID PID QPS LQS PSIZE STATUS LAST ACCESS TIME DB HOST LAST CONNECT TIME CLIENT IP
----------------------------------------------------------------------------------------------------------------------------------
1 6826 456 0 56324 BUSY 2011/09/26 18:09:08 nhncos tcub03.dbinfra 2011/09/26 18:04:31 10.66.9.37
SQL: execute SELECT * FROM ( select * from cos_sms where sms_id < '201108280000000000' ) AS T WHERE ROWNUM = 0
2 6827 0 0 48148 IDLE 2010/12/29 23:44:06 - - -
3 6828 0 0 48148 IDLE 2010/12/29 23:44:06 - - -
4 6829 0 0 48148 IDLE 2010/12/29 23:44:06 - - -
5 6830 0 0 48148 IDLE 2010/12/29 23:44:06
what if CMT just add "and ROWNUM=1" on the user-typed query which has WHERE clause?
what if CMT just add "WHERE ROWNUM=1" on the user-typed query which doesn't have WHERE clause?