Symptom
- Performance differences between DEV & PROD SUPP systems and QA & PROD systems.
- The odd thing is that very similar SQL is performing differently within the same environment, in some environment, but not in others.
- It appears that comparing to a variable instead of a literal is enough to make a query do a full table scan in DEV vs using an index,
- The table has the same indexes in DEV and PROD. This is not an issue.
- Likewise, in PROD SUPP, if you compare to a variable, and do a SELECT INTO, that will cause a full table scan.
- It doesn’t look like caching or data size, as minor changes to the SQL can cause the query to use an index or do a full table scan.
- Rebuilding Indexes, updating statistics, running REORG REBUILD in DEV does not help to avoid table scan while using variable in DEV.
- This makes it tough to develop changes in DEV and to support production issues.
- For example, the following query uses index and runs fast:
SELECT cust_id
FROM cust..cust_table
where lock_dte_tme between '11/01/2010' and '11/30/2010'
while a similar query uses a table scan and runs slow:
DECLARE @last_run datetime, @first_run datetime
SELECT @first_run = '11/01/2010'
SELECT @last_run = '11/30/2010'
SELECT cust_id
FROM cust..cust_table
where lock_dte_tme between @first_run and @last_run
Read more...
Product
Sybase Adaptive Server Enterprise 15.5
Keywords
statement, literal, autoparam, merge, join, configuration , KBA , BC-SYB-ASE , Sybase ASE Database Platform (non Business Suite) , Problem
About this page
This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.
SAP Knowledge Base Article - Preview