---
title: "Speciell SQL i SQL-server"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/69372-speciell-sql-i-sql-server"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Erik Juhlin"
published: "2003-02-25T11:00:32.000Z"
updated: "2003-02-25T12:35:30.000Z"
replies: 5
views: 203
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/69372-speciell-sql-i-sql-server"
---

# Speciell SQL i SQL-server

## #1 — Erik Juhlin, 2003-02-25T11:00Z

Varför är denna SQL...

```
EXEC sp_executesql N'SELECT * FROM tblG_Site WHERE SiteId = @i0', N'@i0 int', 1
```

...snabbare än denna...

```
SELECT * FROM tblG_Site WHERE SiteId = 1
```

Är det smartare cachning och/eller beror det på att man specificerar typen på variablen? Eller kanske något annat?

Permalänk: https://www.webforum.nu/p/69372

## #2 — niko, 2003-02-25T11:13Z

Om den är snabbare *allra* första gången så vet jag inte.

Annars:

> Because the Transact-SQL statement itself remains constant and only the parameter values change, the Microsoft® SQL Server™ query optimizer is likely to reuse the execution plan it generates for the first execution.

Källa:
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_ea-ez_2h7w.asp>

Permalänk: https://www.webforum.nu/p/960641

## #3 — Engine^, 2003-02-25T11:26Z

testa köra den som:

```
EXEC sp_executesql N'SELECT * FROM tblG_Site WHERE SiteId = @i0', N'@i0 int', 1 WITH RECOMPILE
```

Det tvingar Query optimizer:n att skapa en ny execution plan varje gång och således borde de två metoderna ta lika lång tid om inte sp_executesql tar längre tid t.o.m.

Permalänk: https://www.webforum.nu/p/960646

## #4 — Erik Juhlin, 2003-02-25T11:54Z

Okej, bättre cachning då...
Men jag gjorde lite enkla testar och jag fick uppfattningen av att det gick snabbare även första gången. :)

Permalänk: https://www.webforum.nu/p/960660

## #5 — Erik Juhlin, 2003-02-25T12:01Z

Man kan se det lite som att det bara är den fet-stilade delen som cachas?

```
EXEC sp_executesql N'[b]SELECT * FROM tblG_Site WHERE SiteId = @i0[/b]', N'@i0 int', 1
```

Permalänk: https://www.webforum.nu/p/960666

## #6 — Engine^, 2003-02-25T12:35Z

Jepp :)

Permalänk: https://www.webforum.nu/p/960687

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/69372-speciell-sql-i-sql-server
