sqlschool.gr logo

search results

searching on site content

27 Aug 2019

Analyze Actual Execution Plan option

Δεν αποτελεί έκπληξη κάποιο query σε περιβάλλον παραγωγής να έχει πρόβλημα performance και πρέπει να ασχοληθούμε με αυτό. Έχουμε πολλές επιλογές και εργαλεία στην διάθεση μας για να επιτύχουμε αυτό.

26 Aug 2019

Get Actual Execution Plan ASAP

Δεν είναι λίγες οι φορές που έχεις ένα query που παίρνει ώρα για να εκτελεστεί καθώς επιστρέφει μεγάλο αριθμό από εγγραφές και θέλεις να δεις το actual execution plan χωρίς να σε ενδιαφέρουν τα αποτελέσματα.

15 Jul 2018

The Plan Cache Internals and Management

Κάθε φορά που στέλνουμε ένα Transact SQL statement να εκτελεστεί σε ένα SQL Server instance είναι γνωστό ότι ένα από τα βασικά components του SQL Server Database Engine αναλαμβάνει την διαδικασία αυτή και αυτό δεν είναι άλλο από τον Query Optimizer. Αυτός αναλαμβάνει να μετατρέψει το δεδομένο T-SQL statement σε μια σειρά από logical operators οι οποίοι θα χρησιμοποιηθούν για την εκπλήρωση της εκτέλεσης του T-SQL statement. Αυτή η σειρά των logical operators είναι γνωστή σαν Query Execution Plan.

13 Jun 2010

Εισαγωγή στον Query Optimizer του SQL Server 2008

Ο Query Optimizer στον SQL Server είναι αυτός που αποφασίζει με ποιο τρόπο (query plan) θα εκτελεστεί το οποιοδήποτε sql statement το οποίο δίνουμε. Επειδή είναι κάτι το οποίο είναι εσωτερικό στη μηχανή του SQL Server, επειδή δεν παρέχει πολλά χαρακτηριστικά, αλλά δεν υπάρχουν και αρκετοί "τρελλοί" που να ασχολούνται με αυτόν , είναι ίσως από τα λίγα κομμάτια του SQL Server που ακούγονται πολύ αλλά δεν εξηγούνται πολύ.

22 Apr 2014

Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimator - White paper

SQL Server 2014 introduces the first major redesign of the SQL Server Query Optimizer cardinality estimation process since version 7.0. The goal for the redesign was to improve accuracy, consistency and supportability of key areas within the cardinality estimation process, ultimately affecting average query execution plan quality and associated workload performance. This paper provides an overview of the primary changes made to the cardinality estimator functionality by the Microsoft query processor team, covering how to enable and disable the new cardinality estimator behavior, and showing how to troubleshoot plan-quality regressions if and when they occur.

20 Mar 2011

Identify slow running queries with SQL Profiler trace data

Με αφορμή το τελευταίο μου SQL Server Saturday Night που σαν θέμα είχε τον SQL Server Profiler και μπορείτε να το δείτε εδώ και στο οποίο αναφέρθηκα στο συγκεκριμένο θέμα αποφάσισα να γράψω το συγκεκριμένο ώστε να δώσω περισσότερες λεπτομέρειες. Όπως ανέφερα και στη παρουσίαση μου το ποια events θα διαλέξει κάνεις έχει περισσότερο να κάνει με την εμπειρία που έχει αλλά και την ικανότητα με αυτά να εντοπίσει το εν λόγω πρόβλημα.

21 Jan 2013

If you need order in your query results, put in an ORDER BY.

Έχει μαλλιάσει η γλώσσα μου χρόνια τώρα να λέω ότι στον SQL Server δεν υπάρχουν θέσφατα, αξιώματα και κανόνες. Υπάρχουν συνθήκες και με βάση αυτές και την γνώση της αρχιτεκτονικής του SQL Server (και για αυτό έχει μαλλιάσει η γλώσσα μου) μπορείς να δώσεις απαντήσεις και λύσεις σε ότι και να σου συμβεί.

21 Jul 2017

What Query Cost is?

Συχνά δέχομαι την ερώτηση για το τι είναι το query cost. Η απάντηση είναι η παρακάτω

11 Mar 2021

Investigating the Cost Threshold for Parallelism value

Στο SQL Server υπάρχουν αρκετά configuration settings, ένα από αυτά είναι το Cost Threshold for Parallelism που χρειάζεται να δώσουμε προσοχή.

15 Oct 2015

SQL Server 2016 New features - The sys.dm_exec_function_stats DMV

Τα User Defined Functions (UDF) είναι γνωστά στους περισσότερους. Η χρήση τους είναι μεγάλη αλλά αρκετές φορές χρησιμοποιούνται λάθος κυρίως λόγο της άγνοιας που υπάρχει γύρω από την εκτέλεση ενός UDF και ιδιαίτερα όταν αυτό εμπλέκεται μέσα σε ένα query.

30 Aug 2011

Do you have "Optimize for Ad Hoc Workloads" on SQL Server 2008 & R2 instances?

Πριν από ένα μήνα είχα αναρτήσει μια δημοσκόπηση στο site του SqlSchool.gr με την εξής ερώτηση: Έχετε ενεργοποιήσει το "Optimize for Ad Hoc Workloads" στα instances του SQL Server 2008 & R2 που έχετε;...

20 Oct 2019

Useful Extended Events scenarios

Είναι γνωστό, εδώ και 7 χρόνια, ότι ο SQL Server Profiler είναι σε κατάσταση απόσυρσης και ότι ο διάδοχος τους είναι τα Extended Events. Με αυτά μπορούμε να κάνουμε πολλά πράγματα που μας βοηθούν στον εντοπισμό και την επίλυση προβλημάτων.

05 Jul 2009

Παρουσίαση του Activity Monitor στον SQL Server 2008

Πριν ξεκινήσω να περιγράφω το συγκεκριμένο εργαλείο, οφείλω να καταθέσω την άποψη μου γι’ αυτό. ΕΙΝΑΙ ΚΑΤΑΠΛΗΚΤΙΚΟ!!!. Όσοι έχετε ασχοληθεί από παλία με τον SQL Server, προσωπικά ασχολούμαι από την έκδοση 6.0 (1996), θα έχετε παρακολουθήσει την εξέλιξη του συγκεκριμένου εργαλείου. Σε κάθε έκδοση είχαμε κάποιες βελτιώσεις. Όμως στην έκδοση του SQL Server 2008 πιστεύω ότι έχουμε τις περισσότερες αλλά και τις σημαντικότερες βελτιώσεις.

03 Jan 2020

Let's talk about CPU related wait types

Σε αυτό το άρθρο μου θα μιλήσω για τα ποιο σημαντικά wait types που αφορούν την CPU καθώς αυτή είναι αποτελεί ένα από τα βασικά στοιχεία που συντελούν στην απόδοση του SQL Server.

16 Jul 2012

How old are the statistics of indexes in your database?

Φαντάζομαι ότι σε όλους είναι γνωστό ότι για να εκτελεστεί ένα query στον SQL Server περνάει από τον Query Optimizer. Αυτός για να παράξει το execution plan βλέπει τα index statistics. Αυτό σημαίνει ότι όσο καλύτερα ενημερωμένα είναι αυτά τόσο καλύτερα αποτελέσματα θα δώσει ο Query Optimizer. Πότε όμως αυτά έχουν ενημερωθεί τελευταία φορά;

02 Feb 2021

EXECUTE (EXEC) vs. sp_executesql

Παρατηρώ ότι αρκετοί προβληματίζονται ή έχουν μπερδευτεί για το πότε πρέπει να χρησιμοποιούν την EXECUTE (περισσότερο γνωστή με την σύντμηση της EXEC) ή την sp_executesql. Λοιπόν για να βάλουμε τα πράγματα σε σειρά.

12 Apr 2019

The sys.dm_exec_query_stats DMV

Ένα από τα πράγματα που κάνω στην δουλειά μου είναι πηγαίνω σε πελάτες και να τους βοηθάω να λύσουν τα προβλήματα τους. Αυτό σημαίνει ότι έρχομαι αντιμέτωπος με instances που δεν γνωρίζω και πρέπει να μάθω για αυτά. Έτσι εκτελώ αρκετά scripts που έχω γράψει για να συλλέξω τις πληροφορίες που θέλω.

28 Oct 2014

Do not forget to update index statistics

Είναι πρωινό της 27/10/2014. Κάνει κρύο για τα δικά μου δεδομένα και είμαι στο γραφείο στην δουλειά μου. Χτυπάει το τηλέφωνο και είναι ο Σοφοκλής. (TRUE STORY)

13 Jan 2014

Update Statistics and Trace Flag 2371

Σαν DBA καθημερινά ερχόμαστε αντιμέτωποι με κάποιες περιπτώσεις δεν είναι εύκολο άμεσα να εντοπιστούν τα αίτια που τις δημιούργησαν. Εδώ έρχεται αυτό που χρόνια λέω και γράφω ότι πρέπει να γνωρίζουμε τα εσωτερικά του εργαλείου. Πρόσφατα δέχθηκα μια ερώτηση από έναν συνάδελφο που απετέλεσε το ερέθισμα για το post αυτό.

12 Feb 2017

Working with Hypothetical Indexes on SQL Server

Δεν είναι λίγες οι φορές που κοιτάζοντας ένα query που έχει κάποιο πρόβλημα απόδοσης διαπιστώνεις ότι η δημιουργία ενός index θα μπορούσε να λύσει το πρόβλημα αυτό και θέλεις να το δοκιμάσεις.

21 Nov 2014

What is Semi join and Anti join?

Στα μάθηματα μου συχνά αναφέρω (ιδιαίτερα όμως όταν κάνω μάθημα σχετικό με τα joins) ότι εκτός από τα γνωστά inner, full, cross, self και left / right outer joins υπάρχουν και τα semi joins και anti-joins. Η πρώτη αντίδραση από το ακροατήριο μου είναι αυτή που μπορεί να έχει κάποιος όταν το χτυπάει το ρεύμα. Το καταλαβαίνω αμέσως από το γεγονός ότι ξαφνικά αποκτώ το 110% της προσοχής τους.

23 Jan 2010

What a DBA must know for query performance in SQL Server

Θα επανέλθω στο συγκεκριμένο θέμα μετά από απαίτηση συναδέλφων που είδαν την παρουσίαση που έχω κάνει για το 34ο dotNetZone Event και την οποία θα βρείτε εδώ. Υπήρχαν κάποιες απορίες και ερωτήσεις που φιλοδοξώ να τις απαντήσω με το παρόν post μου. Ας πάρουμε λοιπόν τα πράγματα από την αρχή μιας και διακαείς πόθος όλων μας είναι να έχουμε την τέλεια απόδοση στα queries μας δηλαδή όλα να εκτελούνται σε χρόνο μηδέν και να επιστρέφουν δισεκατομμύρια εγγραφές (καλά πλάκα κάνω :D).

12 Jun 2020

The NULLIF expression

Σε αυτό το άρθρο ασχολούμαστε με το NULLIF expression, το οποίο αν χρησιμοποιηθεί κατάλληλα, μπορεί να δώσει πολλαπλά κέρδη τόσο στην απλότητα του query όσο και στην απόδοση του. Υποστηρίζεται σε SQL Server, Azure SQL Database, Azure Synapse Analytics (SQL DW) και Parallel Data Warehouse.

08 Mar 2020

Don't forget to Indexing Foreign Keys

Στο SQL Server κάθε φορά που δημιουργούμε ένα Primary Key δημιουργείται και ένας index αλλά αυτό δεν γίνεται όταν φτιάχνουμε ένα Foreign Key και θα πρέπει να το δημιουργούμε εμείς ξεχωριστά. Το γιατί και ποιο είναι το όφελος το παρουσιάζω στο άρθρο αυτό.

23 Dec 2018

How can you find which statement is currently running in a stored procedure?

Πόσες φορές έρχεστε αντιμέτωποι με μια stored procedure που δεν την έχετε γράψει, δεν ξέρετε τι κάνει, είναι τεράστια σε κώδικα, έχει αργή εκτέλεση και δημιουργεί προβλήματα και ψάχνετε την κύρια αιτία;

13 Jun 2014

How can I find who consumed tempdb on a SQL Server instance

Δεν είναι λίγες οι φορές που σαν DBA θα έρθεις αντιμέτωπος με το φαινόμενο η tempdb να μεγαλώνει υπέρμετρα και ξαφνικά, ενώ δεν έχεις κάνει κάποιες αλλαγές ή δεν έχει βάλει κάτι να εκτελεστεί που είναι γνωστό ότι κάνει εκτεταμένη χρήση αυτής. Για να δούμε μπορούμε να βρούμε τι έχει γίνει;

11 Feb 2014

Filtering data on joins or to where clause?

Ένα ερώτημα που όλους κάποια στιγμή έχει απασχολήσει και έχει δημιουργήσει ενδιαφέρουσες συζητήσεις είναι το που είναι καλύτερο να βάλω τα φίλτρα μου σε ένα join query, να τα βάλω στο where όπως θα έκανα ή να τα βάλω στο join;

1 

|< < > >| 

Categories

Labels

0-9

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Σ

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.