sqlschool.gr logo

search results

searching on site content

16 Jul 2012

How old are the statistics of indexes in your database?

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

09 Mar 2012

Why I love Columnstore Indexes and I DON’T care about their limitations

Όταν είσαι διψασμένος το μόνο που θέλεις είναι να πιεις ένα ποτήρι νερό για να σβήσεις την δίψα σου. Την στιγμή αυτή δεν κοιτάς αν το συγκεκριμένο ποτήρι με νερό είναι παγωμένο ή δροσερό. Θέλεις να το πιεις γιατί αλλιώς σβήνεις...

06 May 2010

SQL Server 2008 R2 Tips

Δεν ξέρω αν είχατε την δυνατότητα να δείτε τα δύο poster που έχω φτίαξει για τις δυνατότητες του SQL Server 2008 R2. Φτιάχνοντας τα εντόπιζα πράγματα τα οποία με εντυπωσίαζαν. Αυτά που μου έκαναν περισσότερη εντύπωση ήταν δύο...

30 Mar 2012

Data Warehouse Physical Design Guide.

Αφού έχουμε σχεδιάσει λογικά και σύμφωνα με τις επιχειρησιακές απαιτήσεις το DW μας, φτάνει η στιγμή που πρέπει να το κάνουμε πραγματικότητα υλοποιώντας το φυσικά. Όπως έχω αναφέρει σε όλα τα προηγούμενα post αυτής της σειράς θα πρέπει φυσικά να υλοποιήσω το DW λαμβάνοντας σοβαρά υπόψη μου τους εξής παράγοντες που δεν είναι άλλοι από τους performance, scalability, manageability. Με αυτούς σαν πυξίδα θα πρέπει να Tips for Database Files...

06 Jan 2019

Cosmos DB Indexes

Όπως σε όλες τις relational databases έτσι και στην Cosmos DB οι indexes έχουν κυρίαρχη θέση καθώς είναι η κηροζίνη των ερωτημάτων και πρέπει να γνωρίζουμε για αυτούς.

09 May 2016

Why each database must have more than one data file?

Σε κάθε άνθρωπο που ασχολείται με τον SQL Server είναι γνωστό ότι μια database αποτελείται αρχικά από δύο αρχεία. Το ένα είναι το primary data file και είναι αυτό που έχει το .mdf extension και το transaction log file που είναι αυτό που έχει το .ldf extension.

23 Mar 2014

Understanding Index External Fragmentation - Part II (The explanation)

Πριν μερικές μέρες έγραψα το πρώτο μέρος για το συγκεκριμένο θέμα στο οποίο έδειξα όλη την περιπτωσιολογία πάνω σε αυτό. Σήμερα θα σας εξηγήσω όσο απλούστερα γίνεται τι κρύβεται πίσω από την κουρτίνα.

10 May 2017

Missing and Unused Indexes

Είναι γνωστό ότι οι indexes αποτελούν την κηροζίνη των queries. Στο SQL Server από το 2005 και μετά έχω στην διάθεση μου αρκετά εργαλεία τα οποία μπορώ να χρησιμοποιήσω και τα οποία μου προτείνουν την δημιουργία indexes με σκοπό την βελτίωση του performance.

06 Oct 2014

How often I have to do rebuild or reorganize indexes in my database?

Ένα ερώτημα που με ρωτάνε συνέχεια όλοι. Μάλιστα στο πρώτο SQL Saturday που έγινε στην Ελλάδα το Σάββατο 4/10/2014 η συγκεκριμένη ερώτηση είχε μεγάλο σουξέ.Για αυτό λοιπόν θα την απαντήσω και γραπτώς ώστε να είναι εύκολα αναγνώσιμη από όλους σας.

04 Apr 2012

Considerations on Data Transformation Phase during ETL process

Σε συνέχεια των προηγούμενων μου post που σχετίζονται με την διαδικασία ETL με την οποία μεταφέρονται τα δεδομένα από την πηγή στο DW στα οποία είδαμε τι πρέπει να προσέξουμε στην φάση extract και στην χρήση της staging area, έφτασε η στιγμή να μιλήσουμε για την φάση του data transformation. Η φάση αυτή είναι ίσως η δυσκολότερη σε σχέση με τις άλλες και μάλιστα απαιτεί και περισσότερο χρόνο ανάπτυξης.

07 Oct 2009

Μια μικρή βουτία στα άδυτα της αρχιτεκτονικής μιας βάσης

Ίσως όσα θα αναφερθούν παρακάτω να είναι γνωστά, και το post αυτό να μην είναι ενδιαφέρον. Όμως έχω την υποχρέωση να τα αναφέρω ξανά γιατί θεωρώ ότι είναι πράγματα στα οποία δεν δίνουμε ιδιαίτερη σημασία και τα οποία όταν διογκώνονται είναι δύσκολα στην επίλυση τους. Θα μιλήσουμε εδώ γιa την αρχιτεκτονική μιας database στον SQL Server, από τι αποτελείτε μια database, πιο είναι το ιδανικό αρχικό μέγεθος δημιουργίας της, τι πολιτική να ορίσω για το growth της.

14 Jul 2012

Database Data File Special Pages

Διαβάζοντας διάφορα άρθρα διαπίστωσα ότι έχω πολύ καιρό να γράψω κάτι για τα internals του SQL Server και αυτό γιατί σε αρκετά από αυτά είδα ότι για να γίνουν κατανοητά θα πρέπει να έχουν εξηγηθεί κάποια internal objects και ειδικά pages. Με αφορμή αυτό αποφάσισα να γράψω το post αυτό και να αναφερθώ σε όλα αυτά το special pages.

02 Apr 2018

Manage and Monitor SQL Server instances - Identify sessions that consume tempdb resources

Η tempdb είναι μια database την οποία μοιράζονται ΟΛΟΙ όσοι χρησιμοποιούν το instance στο οποίο αυτή υπάρχει. Στην tempdb αποθηκεύονται πολλά όπως user objects, internal objects, και version stores.

26 May 2013

External and Internal Index Fragmentation

Αναμφίβολα όλοι γνωρίζουμε την αξία που έχουν οι indexes σε ένα πίνακα και την ευεργετική επίδραση τους στα queries που γίνονται σε αυτούς.Επίσης όλοι ξέρουν ότι το index fragmentation είναι ένας παράγοντας που έχει αρνητική επίδραση στην αξία των index όμως γνωρίζουν όλοι τι είναι internal και τι external fragmentation;

17 Jul 2012

DBCC EXTENTINFO – Another undocumented/documented useful dbcc command

Αρκετές φορές έχω αναφέρει κατά την διάρκεια των μαθημάτων και των παρουσιάσεων που κάνω για την αρχιτεκτονική μιας βάσης, ότι τα data files χωρίζονται σε σελίδες των 8K, κάθε 8 τέτοιες σελίδες αποτελούν ένα extent και ότι υπάρχουν δύο είδη extent τα uniform και τα mixed...

12 Feb 2017

Working with Hypothetical Indexes on SQL Server

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

29 Jul 2013

How to determine if a database can run on a lower SKU (edition) of SQL Server

Πρόσφατα ρωτήθηκα αν μια συγκεκριμένη database μπορούμε να την βάλουμε σε κατώτερη έκδοση SQL Server καθώς θέλανε να την εγκαταστήσουν σε ένα υποκατάστημα και δεν ήθελαν να αγοράσουν Enterprise edition του SQL Server.

21 Jun 2013

Doing Magic with Partitioning and ColumnStore Index in a Data Warehouse DB on SQL Server 2012

Αρκετοί με ρωτάνε στα μαθήματα που κάνω αλλά και με emails στο SQL School σχετικά με το θέμα του table partitioning. Δεν ξέρω γιατί αλλά πολλούς έχει προβληματίσει και μπορώ να πω ότι έχει αγχώσει, αν και δεν θα έπρεπε καθώς είναι μια καθαρή λύση. Υπάρχουν και συνάδελφοι που ασχολούνται με BI και έχουν Data Warehouses (DW) στα οποία θέλουν να επωφεληθούν από το table partitioning αλλά και από την χρήση των columnstore indexes. Αποφάσισα να σας φτιάξω ένα μικρό demo με το οποίο θα δείτε ότι το να κάνει κάποιος table partitioning δεν είναι κάτι δύσκολο.

06 Mar 2012

MVP Summit 2012 Summary

Έχοντας πλέον επιστρέψει από ένα εξαιρετικό MVP Summit αυτό του 2012 θα ήθελα να μοιραστώ μαζί σας την εμπειρία μου αυτή. Ξεκινώντας την Καθαρά Δευτέρα για το ταξίδι αυτό και έχοντας τις εμπειρίες μου από το προηγούμενο summit που είχα παρακολουθήσει το 2010 γνώριζα καλά τι με περιμένει. Αλλά αυτό το summit ήταν πραγματικό εξαιρετικό ιδιαίτερα για τους MVPs του SQL Server. Ήταν πολύ παραπάνω από τις προσδοκίες μου...

16 Jun 2014

Unique Indexes Vs Filter Indexes

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

19 Aug 2021

sp_indexdetails – Get index details and internals

Από τα θέματα που είναι σημαντικά και φυσικά έχουν απασχολήσει και θα συνεχίσουν να πράττουν αυτό είναι οι indexes και τα statistics αυτών. Αρκετός είναι επίσης και ο χρόνος που δαπανάμε για κάνουμε monitoring και optimizing αυτούς χρησιμοποιώντας τα εργαλεία όπως τα DMVs/DMFs.

15 Nov 2015

The TRUNCATE TABLE statement

Σε αυτό το post θα μιλήσουμε για το TRUNCATE TABLE statement, τις χρήσεις του και τις διαφορές του με το DELETE statement.

18 Jun 2014

Database Design Counts

Δεν είναι σπάνιο το φαινόμενο να πέφτω πάνω σε databases που έχουν σχεδιαστεί στην κυριολεξία στο πόδι. Σε πολλές από αυτές, άλλοτε εύκολα, άλλοτε  με σχετικά μη επώδυνο τρόπο,  κατάφερα να αλλάξω τον σχεδιασμό τους. Υπάρχουν όμως  αρκετές που αυτό δεν ήταν εφικτό. Το μήνυμα που θέλω να περάσω μέσα από το post αυτό είναι ότι πρέπει να επενδύουμε χρόνο στον σχεδιασμό της database, ακόμα και αν γνωρίζουμε ότι δεν πρόκειται να έχουμε μεγάλο όγκο δεδομένων, καθώς έτσι θα δημιουργήσουμε μια συνήθεια που δύσκολα θα κοπεί με αποτέλεσμα να έχουμε σωστά σχεδιασμένες databases.

09 Nov 2011

SQL Server 2012 – Editions and Licensing Changes

Πριν μερικές μέρες ανακοινώθηκαν από την Microsoft οι πρώτες αλλαγές που αφορούν τις εκδόσεις και τις άδειες χρήσης του προϊόντος. Οφείλω να ομολογήσω ότι ποτέ δεν ήμουν από αυτούς που ασχολούνταν με το θέμα των αδειών, θα μπορούσα να πω ότι ήμουν και είμαι αλλεργικός με το θέμα αυτό. Όμως είδα ότι κάτι πάει να αλλάξει στο θέμα αυτό και μάλιστα προς το καλύτερο.

11 Jul 2015

Scripts for rebuild or reorganize indexes in a database

Επανέρχομαι σε ένα αρχέγονο ερώτημα απαντώντας με ένα πρακτικό τρόπο σε σχέση με το πώς έχω απαντήσει στο παρελθόν. Ο λόγος δεν είναι για να αναθεωρήσω αυτά που έχω ήδη πει αλλά για να ενισχύσω αυτά με πρακτικό τρόπο καθώς έχω καταλάβει ότι το πρόβλημα είναι στην εφαρμογή τους.

23 Jan 2010

What a DBA must know for query performance in SQL Server

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

19 Mar 2014

Understanding Index External Fragmentation - Part I (The cases)

Είμαι σίγουρος ότι έχετε ακούσει ουκ ολίγες φορές ότι μια από τις αιτίες που μπορεί να μειώνει την απόδοση των queries μας σε μια database είναι το index fragmentation (εφόσον βέβαια έχουμε σωστούς indexes και σωστά στατιστικά για αυτούς και φυσικά έχουμε γράψει queries που έχουν where clause) και ότι τo χειρότερο είναι το external fragmentation.

02 Jul 2016

Database Page Internals

Κάτι για το οποίο καθημερινά μάχομαι είναι το να μάθει ο καθένας που ασχολείται με τον SQL Server τα βασικά που αφορούν την εσωτερική αρχιτεκτονική του SQL Server και της κάθε database. Για όλους εμάς που ασχολούμαστε με τον SQL Server η συγκεκριμένη γνώση είναι απαραίτητη καθώς μας βοηθάει στο να κατανοήσουμε τι ακριβώς συμβαίνει σε κάθε δύσκολη στιγμή που μπορεί να συμβεί. Η κατοχή της συγκεκριμένης γνώσης είναι αυτή που προσδίδει σε αυτόν που την έχει την διαφοροποίηση σε σχέση με όσους λένε ότι γνωρίζουν ή ασχολούνται με τον SQL Server καθώς είναι μακράν καλύτερος τους σε θέματα αντιμετώπισης προβλημάτων και σχεδιασμού των databases.

15 Feb 2015

Memory Configuration in Analysis Services

Μέσα από το SQLschool.gr έχω αρκετές φορές επισημάνει το πώς πρέπει να ορίζουμε την μνήμη ενός instance. Αυτό που μέχρι τώρα δεν είχα κάνει είναι να αναφερθώ στο πως ορίζουμε την μνήμη ενός Analysis services instance.

17 Jul 2013

How a SELECT COUNT(*) query executed

Χθες κατά την διάρκεια του μαθήματος που έκανα ένα αγαπητός συνάδελφος στην συζήτηση που είχαμε ανέφερε ότι όποτε κάνεις ένα query που κάνει COUNT(*)  στα δεδομένα μας κάνει πάντα table scan.

05 Jul 2011

DBCC IND

Αν και η συγκεκριμένη εντολή είναι ευρέως γνωστή και σίγουρα θα την έχετε βρει σε διάφορα sites εντούτοις θα γράψω και εγώ για αυτή καθώς θεωρώ ότι είναι μια σημαντική εντολή αν και είναι undocumented.

25 Oct 2018

Scripting Full Text Search Indexes

Σε αυτό το επεισόδιο ασχολούμαστε στο πως μπορούμε να δημιουργήσουμε τα create scripts για τουs full text indexes και μόνο.

22 Jan 2018

Always On Availability Groups and Transaction Log Shrink operation

Αφορμή για το άρθρο αυτό είναι το ερώτημα ενός μέλους του SQLschool.gr το οποίο αφορούσε το transaction log maintenance και ιδιαίτερα του shrink αυτού μιας database που είναι σε Availability Group.

11 Apr 2017

Update Statistics - sys.dm_db_stats_properties DMV

Δεν θα σταματήσω να γράφω για την σημασία που έχουν τα statistics στην επιλογή του καλύτερου execution plan ποτέ. Αρκετά μεγάλος αριθμός καθυστερήσεων σε queries οφείλεται σε αυτά και προσωπικά κρίνω απαραίτητο να υπάρχει σε όλους η συγκεκριμένη γνώση γύρω από αυτά.Στο παρελθόν έχω γράψει αρκετά άρθρα γύρω από αυτά και σήμερα επανέρχομαι με ακόμα ένα με το οποίο θέλω να ρίξω περισσότερο φως σε αυτά.

15 Oct 2015

SQL Server 2016 New features - The sys.dm_exec_function_stats DMV

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

03 Nov 2016

When the filtered indexes saves

Η παλαιότερη και πιο συνηθισμένη ερώτηση που γίνεται είναι αυτή που αφορά το query performance. Για αυτή την ερώτηση έχουν γραφτεί εκατομμύρια γραμμές σε άρθρα και έχουν γίνει χιλιάδες παρουσιάσεις. Συγκεκριμένη απάντηση δεν θα βρει κανείς πουθενά και είναι απόλυτα λογικό καθώς η κάθε περίπτωση είναι διαφορετική και χρειάζεται διαφορετική λύση. Αυτό που μπορώ με σιγουριά να πω είναι ότι για να δώσει κάποιος λύση στο εκάστοτε πρόβλημα θα πρέπει να έχει γνώση των εσωτερικών δομών και αρχιτεκτονική του SQL Server πάνω από καλώς.

31 May 2017

Statistics and Index Internals

Στην παρουσίαση αυτή εξηγούμε την σημασία των στατιστικών και πως αυτά επιρεάζουν το performance των queries καθώς επίσης και το πως πρέπει να φτιάξω τους κατάλληλους indexes

25 Jan 2014

Columnstore Indexes on SQL Server 2014

Σε αυτή τη παρουσίαση δείχνουμε όλα όσα πρέπει κάποιος να γνωρίζει για τους Columnstore Indexes στον SQL Server 2014.

29 Dec 2018

Cosmos DB a NoSQL Database

Η Cosmos DB είναι ένα high-scalable, reliable και secure infrastructure που μπορεί να χρησιμοποιηθεί για την υλοποίηση των περισσότερων γνωστών και κοινών NoSQL database.

10 Feb 2018

Monitoring CREATE INDEX Progress

Όσοι από εμάς έχουν περάσει ή είναι DBA σε μεγάλες databases καθημερινά έρχονται αντιμέτωποι με πολλά ενδιαφέροντα θέματα. Ένα από αυτά είναι η συντήρηση και η δημιουργία των indexes σε μεγάλου όγκου databases. Ειδικότερα αυτό που ένας τέτοιος DBA ζητάει είναι να γνωρίζει το progress ώστε να είναι σε θέση να εκτιμήσει την ολοκλήρωση της εργασίας.

28 Oct 2014

Do not forget to update index statistics

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

16 Oct 2017

Find missing indexes on foreign key constraints

Τα foreign keys όπως είναι γνωστό δεν φτιάχνουν κάποιον index στο reference table. Επίσης είναι γνωστό ότι καλό (αλλά όχι πάντα απαραίτητο) να φτιάχνουμε nonclustered index στο reference table στo field(s) που εμπλέκονται στο FK constraint.

1 2 

|< < > >| 

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-2023 All rights reserved

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