Ik ben bezig met een zoekmachine te bouwen zodat je vanuit een webapplicatie in ASP in verschillende velden kan zoeken in de database.
Dit werkt allemaal prima dus daarover heb ik geen vraag.
Ik zie alleen wel iets raars, als ik namelijk de query die ik samenstel in ASP op het scherm print is dit bijvoorbeeld:
Als ik deze query vanaf het scherm uit de webapplicatie kopieer en plak in een SQL query in de SQL Server Enterprise Manager op de table en deze run maakt hij er de volgende query van:
De query duurt dan ook veel langer om uit te voeren dan als ik het via de webapplicatie doe. En als ik de eerste bovenste query plak in de SQL Query Analyzer gaat het ook heel snel en past hij de query ook niet aan.
Mijn vraag daarom is: kan iemand mij uitleggen waar de query in de SQL Server Enterprise Manager de query zo aanpast??
Het gaat hierbij om SQL Server 2000 met SP3
Dit werkt allemaal prima dus daarover heb ik geen vraag.
Ik zie alleen wel iets raars, als ik namelijk de query die ik samenstel in ASP op het scherm print is dit bijvoorbeeld:
SQL:
1
2
3
4
5
| SELECT * FROM klanten INNER JOIN plaatsen ON klanten.klant_plaats = plaatsen.plaats_id WHERE (klant_bedrijfsnaam LIKE '%test%' OR klant_adres LIKE '%test%' OR klant_adresnr LIKE '%test%' OR plaats_naam LIKE '%test%') AND (klant_bedrijfsnaam LIKE '%utrecht%' OR klant_adres LIKE '%utrecht%' OR klant_adresnr LIKE '%utrecht%' OR plaats_naam LIKE '%utrecht%') ORDER BY klant_bedrijfsnaam, klant_plaats |
Als ik deze query vanaf het scherm uit de webapplicatie kopieer en plak in een SQL query in de SQL Server Enterprise Manager op de table en deze run maakt hij er de volgende query van:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| SELECT * FROM klanten INNER JOIN plaatsen ON klanten.klant_plaats = plaatsen.plaats_id WHERE(klanten.klant_bedrijfsnaam LIKE '%test%') AND (klanten.klant_bedrijfsnaam LIKE '%utrecht%') OR (klanten.klant_bedrijfsnaam LIKE '%test%') AND (klanten.klant_adres LIKE '%utrecht%') OR (klanten.klant_bedrijfsnaam LIKE '%test%') AND (klanten.klant_adresnr LIKE '%utrecht%') OR (klanten.klant_bedrijfsnaam LIKE '%test%') AND (plaatsen.plaats_naam LIKE '%utrecht%') OR (klanten.klant_bedrijfsnaam LIKE '%utrecht%') AND (klanten.klant_adres LIKE '%test%') OR (klanten.klant_adres LIKE '%test%') AND (klanten.klant_adres LIKE '%utrecht%') OR (klanten.klant_adres LIKE '%test%') AND (klanten.klant_adresnr LIKE '%utrecht%') OR (klanten.klant_adres LIKE '%test%') AND (plaatsen.plaats_naam LIKE '%utrecht%') OR (klanten.klant_bedrijfsnaam LIKE '%utrecht%') AND (klanten.klant_adresnr LIKE '%test%') OR (klanten.klant_adres LIKE '%utrecht%') AND (klanten.klant_adresnr LIKE '%test%') OR (klanten.klant_adresnr LIKE '%test%') AND (klanten.klant_adresnr LIKE '%utrecht%') OR (klanten.klant_adresnr LIKE '%test%') AND (plaatsen.plaats_naam LIKE '%utrecht%') OR (klanten.klant_bedrijfsnaam LIKE '%utrecht%') AND (plaatsen.plaats_naam LIKE '%test%') OR (klanten.klant_adres LIKE '%utrecht%') AND (plaatsen.plaats_naam LIKE '%test%') OR (klanten.klant_adresnr LIKE '%utrecht%') AND (plaatsen.plaats_naam LIKE '%test%') OR (plaatsen.plaats_naam LIKE '%test%') AND (plaatsen.plaats_naam LIKE '%utrecht%') ORDER BY klanten.klant_bedrijfsnaam, klanten.klant_plaats |
De query duurt dan ook veel langer om uit te voeren dan als ik het via de webapplicatie doe. En als ik de eerste bovenste query plak in de SQL Query Analyzer gaat het ook heel snel en past hij de query ook niet aan.
Mijn vraag daarom is: kan iemand mij uitleggen waar de query in de SQL Server Enterprise Manager de query zo aanpast??
Het gaat hierbij om SQL Server 2000 met SP3