Information générale
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Char and varchar - performance problem
Versions des environnements
Network:
Windows 2003 Server
Hello
I submit a query via SQLexec. The query looks basically like this (it is actually much more complex)
SELECT * FROM TABLEX WHERE FIELD1 = ?AMES
Where AMES = "200905" (VFP variable)
It takes very long to complete (say 20 minutes). Using SQL profiler, I detect that SQL server does this:
exec sp_executesql N'SELECT * FROM TABLEX WHERE FIELD1 = @P1',N'@P1 varchar(6)','200905'
Running this from Query Analyzer runs slowly too.
However, FIELD1 is actually char(6) not varchar(6). There is an index on FIELD1.
From query analyzer, changing just varchar(6) to char(6), slashes execution time down from 20 minutes to 6 seconds.!
How can I force VFP (or the ODBC driver) to correctly use char instead of varchar?
Using SQL 2005 with SQL Client.
TIA
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement