Łukasz Gąsior
  • Home
  • now!
  • Blog
  • Po polsku
Social Links
Twitter
LinkedIn
Facebook
YouTube
Reddit
Instagram
GitHub
Medium
RSS
Łukasz Gąsior
  • Home
  • now!
  • Blog
  • Po polsku
  • Po polsku

Quick tip: 11. Indexed views vs. SQL Server Express

  • 2012-07-23
  • One comment
  • 1 minute read
  • 846 views

Widoki są tworem dość często wykorzystywanym w bazach SQL – dobrze zaplanowane bardzo ułatwiają pracę z bazą. Widoki indeksowane zapewniają lepszą wydajność zapytań. Niestety nie zawsze nasz indeks będzie brany pod uwagę podczas wykonania zapytania.

Załóżmy, że mamy w baze widok vEmployeesSales – prosty widok z jednym joinem i prostym grupowaniem. Widok ten ma zdefiniowany index – CIDX_vEmployees.

Standardowe zapytanie:

SELECT * FROM vEmployeesSales

uwzględni nasz indeks jedynie w bazach w wersji Enterprise i Developer. Jeżeli korzystamy z popuplarnej (nawet w systemach produkcyjnych) wersji Express indeks zostanie pominięty.
Aby zachęcić optymalizator do wykorzystania naszego indeksu musimy do zapytania (po klauzuli FROM) dodać opcję WITH (NOEXPAND):

SELECT * FROM vEmployeesSales WITH (NOEXPAND)

Różnicę widać na planie wykonania:

oraz w czasie wykonania – zapytanie 1 zajęło 57ms, zapytanie 2 poniżej 1ms.

Należy pamięć, że aby stworzyć indeks na widoku, widok ten musi zostać stworzony z opcją WITH SCHEMABINDING.

Na koniec ten sam test na bazie SQL2008 Enterprise:

Share
Tweet
Share
Share
Related Topics
  • Indexed view
  • noexpand
  • view
You May Also Like
View Post
  • Po polsku

Software Craftsmanship Wrocław

  • 2017-06-06
View Post
  • Po polsku

Pilnuj typów danych

  • 2014-02-26
View Post
  • Po polsku

ReSharper Essentials – poszło!

  • 2014-02-21
View Post
  • Po polsku

Turbo-Mode Developera

  • 2014-02-19
View Post
  • Po polsku

Badanie usability by TechSmith

  • 2014-02-13
View Post
  • Po polsku

Global Windows Azure Bootcamp 2014

  • 2014-02-05
View Post
  • Po polsku

Quick tip: 12. Stosuj AsNoTracking() gdzie się da!

  • 2013-01-27
View Post
  • Po polsku

Roy uczy TDD :)

  • 2012-07-03
1 comment
  1. Pingback: dotnetomaniak.pl

Comments are closed.

click & help!
Nakarm dziecko!
Follow me
RESHARPER ESSENTIALS
ReSharper Essentials
CODINGTV();
codingtv();
Twitter Feed
Categories
  • Azure Cloud (6)
  • Po polsku (104)
  • Windows (1)
Featured Posts
  • Azure Activity Log – Change History
    • 2020-09-29
  • Diagram Driven Cloud Infrastructure with Cloud Maker
    • 2020-09-22
  • Azure ARM template, but it is not JSON!
    • 2020-09-15
About
👍 Cloud | DevOps | Development | Technical Leadership | 📗Author of "ReSharper Essentials
© 2019 Łukasz Gąsior. All rights reserved.
hosted with ♥️ on webio | Polityka prywatności

Input your search keywords and press Enter.