Efficient Interval Management in Microsoft SQL Server
|
|
- Joseph Newman
- 8 years ago
- Views:
Transcription
1 Efficient Interval Management in Microsoft SQL Server Itzik Ben-Gan, SolidQ Last modified: August, 0 Agenda Inefficiencies of classic interval handling Solution: RI-tree by Kriegel, Pötke and Seidl of University of Munich Optimized solution: Static RI-tree by Laurent Martin Potential for integration in SQL Server References
2 Intervals Examples for temporal intervals: sessions, contracts, appointments, shifts Allen s interval algebra: base relations Common relation: X intersects Y Example: return contracts that were active during an input period Classic interval representation: Table: Intervals( id, lower, upper ) Indexes: idx_lower ON Intervals(lower) INCLUDE(upper) idx_upper ON Intervas(upper) INCLUDE(lower) X Y Inefficiencies of Classic Interval Handling Return intervals [lower, upper] that intersect with Classic predicate: WHERE lower AND upper Problem: two range predicates An Index Seek can use only one range predicate as a Seek Predicate Other range predicate is evaluated as a [residual] Predicate Sensitive lower upper logical reads:, CPU time: ms
3 Work used as Foundation for Solution Relational Interval tree (RI-tree) model Paper [RI]: Managing Intervals Efficiently in Object-Relational Databases (Kriegel, Pötke and Seidl of University of Munich) Static RI-tree and SQL Server implementation Article [SRI]: A Static Relational Interval Tree (Laurent Martin) Article [SRI]: Advanced interval queries with the Static Relational Interval Tree (Laurent Martin) Tree.aspx Article [SRI]: Using the Static Relational Interval Tree with time intervals (Laurent Martin) [RIBG]: Interval Queries in SQL Server (Itzik Ben-Gan) * Above sources will be referred to as [RI], [SRI], [SRI], [SRI] and [RIBG] respectively Relational Interval tree (RI-tree) [RI] Virtual backbone binary tree, height = num bits, range: h -, root: h- Fork node: first node within interval when descending the tree with bisection Table: Intervals( id, node, lower, upper ) Indexes: idx_lower ON Intervals(node, lower), idx_upper ON Intervals(node, upper)
4 Fork Node CREATE FUNCTION AS AS INT) RETURNS INT WITH SCHEMABINDING AS BEGIN AS INT = ; -- height = AS INT / ; >= BEGIN ELSE ELSE BREAK; /= ; END; END; Cons: iterative T-SQL; slows down insertions Optimized Fork Node [SRI] Compute fork node from lower and upper: lowest common ancestor Observations: : For any value N, L = leading bits before trailing 0s : For any X starting with L, X s left subtree nodes start with (L-), right start with L : For nonleaf node X and X- ancestors are same, so X can be replaced with X- : Leaf node Z and Z- differ only in last bit; Example: for Z and 0 X for = Z-(00) Hence... Left node: N, = (00), same (0) ancestors L = 0 Example: (00), (000) 000 Right node: (0)
5 Optimized Fork Node Fork node = matching prefix of (lower - ) and upper 0s Let A = (lower - ) ^ upper -- mark different bits 0 ^ 0 = 00 Let B = POWER(, FLOOR(LOG(A, ))) -- first different bit set to like in upper: 000 Let C = upper % B -- keep trailing bits from upper after set bit in B: 0 Let D = upper - C concat and set trailing bits to 0s, voilà fork node: 00 Formula: upper - upper % POWER(, CAST(LOG((lower - ) ^ upper, ) AS INT)) Not clear? Details in [RIBG] Optimized Fork Node Implemented as a computed column CREATE TABLE dbo.intervalsrit ( id INT NOT NULL, node AS upper - upper % POWER(, FLOOR(LOG((lower - ) ^ upper, ))) PERSISTED NOT NULL, lower INT NOT NULL, upper INT NOT NULL, CONSTRAINT PK_IntervalsRIT PRIMARY KEY(id), CONSTRAINT CHK_IntervalsRIT_upper_gteq_lower CHECK(upper >= lower) ); CREATE INDEX idx_lower ON dbo.intervalsrit(node, lower); CREATE INDEX idx_upper ON dbo.intervalsrit(node, upper); * Above are basic index definitions to support intersection queries; additional columns may be needed (filters, included columns) Pros: Much faster inserts Support seamless multi-row modifications Cons: Complex (even more so with date and time requires mapping to integers)
6 Fork node for DATETIME data type [SRI] node AS DATEADD(ns, ((((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 - (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 + ) % POWER(CAST( AS BIGINT), FLOOR(LOG( (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), lower) AS BIGINT) * 0 + DATEPART(mi, lower)) * 0 + DATEPART(s, lower)) * DATEPART(ns, lower) / 0 ) ^ (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 + )) / LOG()))) % ) * 0, Fork node for DATETIME data type [SRI] DATEADD(s, ((((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 - (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 + ) % POWER(CAST( AS BIGINT), FLOOR(LOG( (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), lower) AS BIGINT) * 0 + DATEPART(mi, lower)) * 0 + DATEPART(s, lower)) * DATEPART(ns, lower) / 0 ) ^ (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 + )) / LOG()))) / ) % 00,
7 Fork node for DATETIME data type [SRI] DATEADD(d, (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 - (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 + ) % POWER(CAST( AS BIGINT), FLOOR(LOG( (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), lower) AS BIGINT) * 0 + DATEPART(mi, lower)) * 0 + DATEPART(s, lower)) * DATEPART(ns, lower) / 0 ) ^ Fork node for DATETIME data type [SRI] (((CAST(DATEDIFF(hh, CONVERT(DATETIME, '000', ), upper) AS BIGINT) * 0 + DATEPART(ns, upper) / 0 + )) / LOG())) ) / CAST( AS BIGINT), CONVERT(DATETIME, '000', )))) Could be much shorter if BIGDATEADD and BIGDATEDIFF were implemented:
8 Querying [RI] Left nodes Middle nodes Right nodes All Together leftnodes and rightnodes functions Querying, Left Nodes Left nodes: W = {w on path leading to lower; and w < lower} In below example W = {, } CREATE FUNCTION dbo.leftnodes (@lower AS AS INT) TABLE ( node INT NOT NULL PRIMARY KEY ) AS BEGIN AS INT = ; AS INT / ; -- descend from root node to lower >= BEGIN -- right node -- left node ELSE BEGIN INSERT VALUES(@node); 00 END -- lower ELSE 0 BREAK; /= ; 0 END; RETURN; END; 0
9 Querying, Left Nodes Intervals [lower, upper] that intersect with All intervals registered at w, where upper AS L ON I.node = L.node AND I.upper 000 = lower = upper = w w Querying, Right Nodes Symmetric to Left Nodes (with rightnodes function) Intervals that intersect with input All intervals registered at w, where lower JOIN AS R ON I.node = R.node AND I.lower lower = = w w
10 Querying, Middle Nodes Intervals that intersect with All intervals registered at w, where node SELECT id FROM dbo.intervalsrit WHERE node lower = = w w 0 w Querying, All Together JOIN AS L ON I.node = L.node AND I.upper UNION ALL JOIN AS R ON I.node = R.node AND I.lower UNION ALL SELECT id FROM dbo.intervalsrit WHERE node logical reads: (IntervalsRIT) + (@T - leftnodes) + (@T - rightnodes), CPU time: ms
11 leftnodes and rightnodes Functions Cons: Use iterative T-SQL and table variable In a join, called per row Can be implemented more efficiently Optimized Ancestors Function [RIBG] Ancestors [SRI]: each step clears rightmost set bit and sets bit to the left to Not clear? Details in [RIBG] Example: n = 00 = 00 = 000 = 0000 = 0000 = Identify rightmost set bit in (00): -n: - (0) keep bits from right until first set bit () reverse rest of bits (00 becomes 0) n & -n = n s rightmost set bit (00000) BitMasks (n < num bits - ) n b B Left nodes: ancestors where node SELECT node FROM dbo.ancestors() AS A WHERE node < ; --, Right nodes: ancestors where node SELECT node FROM dbo.ancestors() AS A WHERE node > ; --, CREATE FUNCTION dbo.ancestors(@node AS INT) RETURNS TABLE AS RETURN & b b as node -- compute ancestor FROM dbo.bitmasks WHERE b & -@node; -- b > rightmost set bit
12 Optimized Ancestors Function JOIN AS L ON L.node AND I.node = L.node AND I.upper UNION ALL JOIN dbo.ancestors(@u) AS R ON R.node AND I.node = R.node AND I.lower UNION ALL SELECT id FROM dbo.intervalsrit WHERE node logical reads: (IntervalsRIT) + (BitMasks), CPU time: 0 ms Further Optimization [SRI] JOIN dbo.ancestors(@l) AS L ON L.node AND L.node >= (SELECT MIN(node) FROM dbo.intervalsrit) AND I.node = L.node AND I.upper UNION ALL JOIN dbo.ancestors(@u) AS R ON R.node AND R.node <= (SELECT MAX(node) FROM dbo.intervalsrit) AND I.node = R.node AND I.lower Filter out ancestors outside of range covered by table Eliminates unnecessary index seeks UNION ALL SELECT id FROM dbo.intervalsrit WHERE node logical reads: (IntervalsRIT) + (BitMasks), CPU time: 0 ms
13 Optimized Ancestors Function Pros: More efficient than iterative T-SQL functions Doesn t require a table variable Cons: A bit complex Potential for Integration in SQL Server [RIBG] Model is complex; can add engine support for model and optimizations Indexing: CREATE INDEX myindex ON dbo.intervals[(fcol, fcol,...)] -- leading equality-based filters INTERVAL(lower, upper) -- interval columns [INCLUDE(icol, icol,...)] -- included columns [WITH (INTERSECTS_ONLY = ON)]; -- determines keylist Internally compute fork node and create two B-tree indexes: key([fcol, fcol,,] node, lower[, upper]) [include(icol, icol)] key([fcol, fcol,,] node, upper[, lower]) [include(icol, icol)] Querying: Optimizer support for detecting interval queries with classic predicates Adding declarative SQL with RI-tree engine support More efficient native functions (for advanced users who wish to roll their own): forknode, leftnodes, rightnodes, ancestors Support integer, as well as date and time types
14 References [RI]: Managing Intervals Efficiently in Object-Relational Databases (Kriegel, Pötke and Seidl of University of Munich) [SRI]: A Static Relational Interval Tree (Laurent Martin) [SRI]: Advanced interval queries with the Static Relational Interval Tree (Laurent Martin) Relational-Interval-Tree.aspx [SRI]: Using the Static Relational Interval Tree with time intervals (Laurent Martin) [RIBG]: Interval Queries in SQL Server (Itzik Ben-Gan) Feature Enhancement Request for Microsoft Connect item:
Using SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
More informationFull and Complete Binary Trees
Full and Complete Binary Trees Binary Tree Theorems 1 Here are two important types of binary trees. Note that the definitions, while similar, are logically independent. Definition: a binary tree T is full
More informationPhysical Data Organization
Physical Data Organization Database design using logical model of the database - appropriate level for users to focus on - user independence from implementation details Performance - other major factor
More informationPrevious Lectures. B-Trees. External storage. Two types of memory. B-trees. Main principles
B-Trees Algorithms and data structures for external memory as opposed to the main memory B-Trees Previous Lectures Height balanced binary search trees: AVL trees, red-black trees. Multiway search trees:
More informationUnit 4.3 - Storage Structures 1. Storage Structures. Unit 4.3
Storage Structures Unit 4.3 Unit 4.3 - Storage Structures 1 The Physical Store Storage Capacity Medium Transfer Rate Seek Time Main Memory 800 MB/s 500 MB Instant Hard Drive 10 MB/s 120 GB 10 ms CD-ROM
More informationB+ Tree Properties B+ Tree Searching B+ Tree Insertion B+ Tree Deletion Static Hashing Extendable Hashing Questions in pass papers
B+ Tree and Hashing B+ Tree Properties B+ Tree Searching B+ Tree Insertion B+ Tree Deletion Static Hashing Extendable Hashing Questions in pass papers B+ Tree Properties Balanced Tree Same height for paths
More informationDatabase Design Patterns. Winter 2006-2007 Lecture 24
Database Design Patterns Winter 2006-2007 Lecture 24 Trees and Hierarchies Many schemas need to represent trees or hierarchies of some sort Common way of representing trees: An adjacency list model Each
More informationFHE DEFINITIVE GUIDE. ^phihri^^lv JEFFREY GARBUS. Joe Celko. Alvin Chang. PLAMEN ratchev JONES & BARTLETT LEARN IN G. y ti rvrrtuttnrr i t i r
: 1. FHE DEFINITIVE GUIDE fir y ti rvrrtuttnrr i t i r ^phihri^^lv ;\}'\^X$:^u^'! :: ^ : ',!.4 '. JEFFREY GARBUS PLAMEN ratchev Alvin Chang Joe Celko g JONES & BARTLETT LEARN IN G Contents About the Authors
More informationSQL Server Auditing. By Minette Steynberg. Audit all SQL Server activities using ApexSQL Comply
By Minette Steynberg Contents Introduction... 2 Auditing in SQL Server prior to 2008... 2 Auditing in SQL Server 2008 onwards... 2 Extended Events... 2 Auditing Components... 3 The Server Audit... 3 Audit
More informationIndexing XML Data in RDBMS using ORDPATH
Indexing XML Data in RDBMS using ORDPATH Microsoft SQL Server 2005 Concepts developed by: Patrick O Neil,, Elizabeth O Neil, (University of Massachusetts Boston) Shankar Pal,, Istvan Cseri,, Oliver Seeliger,,
More informationBinary Trees and Huffman Encoding Binary Search Trees
Binary Trees and Huffman Encoding Binary Search Trees Computer Science E119 Harvard Extension School Fall 2012 David G. Sullivan, Ph.D. Motivation: Maintaining a Sorted Collection of Data A data dictionary
More informationBinary Heap Algorithms
CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G. Chappell
More informationReport on the Train Ticketing System
Report on the Train Ticketing System Author: Zaobo He, Bing Jiang, Zhuojun Duan 1.Introduction... 2 1.1 Intentions... 2 1.2 Background... 2 2. Overview of the Tasks... 3 2.1 Modules of the system... 3
More informationB-Trees. Algorithms and data structures for external memory as opposed to the main memory B-Trees. B -trees
B-Trees Algorithms and data structures for external memory as opposed to the main memory B-Trees Previous Lectures Height balanced binary search trees: AVL trees, red-black trees. Multiway search trees:
More information1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The
More informationSQL Server Table Design - Best Practices
CwJ Consulting Ltd SQL Server Table Design - Best Practices Author: Andy Hogg Date: 20 th February 2015 Version: 1.11 SQL Server Table Design Best Practices 1 Contents 1. Introduction... 3 What is a table?...
More informationData Structure with C
Subject: Data Structure with C Topic : Tree Tree A tree is a set of nodes that either:is empty or has a designated node, called the root, from which hierarchically descend zero or more subtrees, which
More informationAnalyzing & Optimizing T-SQL Query Performance Part1: using SET and DBCC. Kevin Kline Senior Product Architect for SQL Server Quest Software
Analyzing & Optimizing T-SQL Query Performance Part1: using SET and DBCC Kevin Kline Senior Product Architect for SQL Server Quest Software AGENDA Audience Poll Presentation (submit questions to the e-seminar
More informationData Warehousing und Data Mining
Data Warehousing und Data Mining Multidimensionale Indexstrukturen Ulf Leser Wissensmanagement in der Bioinformatik Content of this Lecture Multidimensional Indexing Grid-Files Kd-trees Ulf Leser: Data
More informationImplementing and Maintaining Microsoft SQL Server 2008 Integration Services
Course 6234A: Implementing and Maintaining Microsoft SQL Server 2008 Integration Services Length: 3 Days Language(s): English Audience(s): IT Professionals Level: 200 Technology: Microsoft SQL Server 2008
More informationMOC 20461C: Querying Microsoft SQL Server. Course Overview
MOC 20461C: Querying Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to query Microsoft SQL Server. Students will learn about T-SQL querying, SQL Server
More informationRaima Database Manager Version 14.0 In-memory Database Engine
+ Raima Database Manager Version 14.0 In-memory Database Engine By Jeffrey R. Parsons, Senior Engineer January 2016 Abstract Raima Database Manager (RDM) v14.0 contains an all new data storage engine optimized
More informationFrom Last Time: Remove (Delete) Operation
CSE 32 Lecture : More on Search Trees Today s Topics: Lazy Operations Run Time Analysis of Binary Search Tree Operations Balanced Search Trees AVL Trees and Rotations Covered in Chapter of the text From
More informationStruxureWare Power Monitoring 7.0.1. Database Upgrade FAQ
StruxureWare Power Monitoring 7.0.1 Database Upgrade FAQ Document Overview Author Power Software, Schneider Electric Last Revised 10 th July 2012 Document Purpose Upgrading ION-Enterprise to StruxureWare
More informationOrdered Lists and Binary Trees
Data Structures and Algorithms Ordered Lists and Binary Trees Chris Brooks Department of Computer Science University of San Francisco Department of Computer Science University of San Francisco p.1/62 6-0:
More informationTrendWorX32 SQL Query Engine V9.2 Beta III
TrendWorX32 SQL Query Engine V9.2 Beta III Documentation (Preliminary November 2009) OPC Automation at your fingertips 1. Introduction TrendWorX32 Logger logs data to a database. You can use the TrendWorX32
More informationOperations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later).
Binary search tree Operations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later). Data strutcure fields usually include for a given node x, the following
More informationR-trees. R-Trees: A Dynamic Index Structure For Spatial Searching. R-Tree. Invariants
R-Trees: A Dynamic Index Structure For Spatial Searching A. Guttman R-trees Generalization of B+-trees to higher dimensions Disk-based index structure Occupancy guarantee Multiple search paths Insertions
More informationQuerying Microsoft SQL Server (20461) H8N61S
HP Education Services course data sheet Querying Microsoft SQL Server (20461) H8N61S Course Overview In this course, you will learn the technical skills required to write basic Transact-SQL (T-SQL) queries
More informationCalPlanning. Smart View Essbase Ad Hoc Analysis
1 CalPlanning CalPlanning Smart View Essbase Ad Hoc Analysis Agenda Overview Introduction to Smart View & Essbase 4 Step Smart View Essbase Ad Hoc Analysis Approach 1. Plot Dimensions 2. Drill into Data
More informationOutput: 12 18 30 72 90 87. struct treenode{ int data; struct treenode *left, *right; } struct treenode *tree_ptr;
50 20 70 10 30 69 90 14 35 68 85 98 16 22 60 34 (c) Execute the algorithm shown below using the tree shown above. Show the exact output produced by the algorithm. Assume that the initial call is: prob3(root)
More informationDatabases and Information Systems 1 Part 3: Storage Structures and Indices
bases and Information Systems 1 Part 3: Storage Structures and Indices Prof. Dr. Stefan Böttcher Fakultät EIM, Institut für Informatik Universität Paderborn WS 2009 / 2010 Contents: - database buffer -
More informationBinary Heaps. CSE 373 Data Structures
Binary Heaps CSE Data Structures Readings Chapter Section. Binary Heaps BST implementation of a Priority Queue Worst case (degenerate tree) FindMin, DeleteMin and Insert (k) are all O(n) Best case (completely
More informationBinary Search Trees. Ric Glassey glassey@kth.se
Binary Search Trees Ric Glassey glassey@kth.se Outline Binary Search Trees Aim: Demonstrate how a BST can maintain order and fast performance relative to its height Properties Operations Min/Max Search
More informationState History Storage in Disk-based Interval Trees
State History Storage in Disk-based Interval Trees Alexandre Montplaisir June 29, 2010 École Polytechnique de Montréal Content Introduction : The concept of State The current method : Checkpoints The proposed
More informationLecture 1: Data Storage & Index
Lecture 1: Data Storage & Index R&G Chapter 8-11 Concurrency control Query Execution and Optimization Relational Operators File & Access Methods Buffer Management Disk Space Management Recovery Manager
More informationPersistent Binary Search Trees
Persistent Binary Search Trees Datastructures, UvA. May 30, 2008 0440949, Andreas van Cranenburgh Abstract A persistent binary tree allows access to all previous versions of the tree. This paper presents
More informationDATABASE DESIGN - 1DL400
DATABASE DESIGN - 1DL400 Spring 2015 A course on modern database systems!! http://www.it.uu.se/research/group/udbl/kurser/dbii_vt15/ Kjell Orsborn! Uppsala Database Laboratory! Department of Information
More information[MS-WSSDM]: Windows SharePoint Services: Content Database Data Migration Communications Protocol Specification
[MS-WSSDM]: Windows SharePoint Services: Content Database Data Migration Communications Protocol Specification Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation.
More informationBinary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *
Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest
More informationQuerying Microsoft SQL Server 2012
Querying Microsoft SQL Server 2012 MOC 10774 About this Course This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL
More informationServices. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.
& & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows
More informationWebsense SQL Queries. David Buyer June 2009 Be281@bfn.org
Websense SQL Queries David Buyer June 2009 Be281@bfn.org Introduction The SQL queries that are listed here I have been using for a number of years now. I use them almost exclusively as an alternative to
More informationHow To Improve Performance In A Database
1 PHIL FACTOR GRANT FRITCHEY K. BRIAN KELLEY MICKEY STUEWE IKE ELLIS JONATHAN ALLEN LOUIS DAVIDSON 2 Database Performance Tips for Developers As a developer, you may or may not need to go into the database
More informationImproving SQL Server Performance
Informatica Economică vol. 14, no. 2/2010 55 Improving SQL Server Performance Nicolae MERCIOIU 1, Victor VLADUCU 2 1 Prosecutor's Office attached to the High Court of Cassation and Justice 2 Prosecutor's
More informationIntroduction to SQL for Data Scientists
Introduction to SQL for Data Scientists Ben O. Smith College of Business Administration University of Nebraska at Omaha Learning Objectives By the end of this document you will learn: 1. How to perform
More informationCourse 20461C: Querying Microsoft SQL Server Duration: 35 hours
Course 20461C: Querying Microsoft SQL Server Duration: 35 hours About this Course This course is the foundation for all SQL Server-related disciplines; namely, Database Administration, Database Development
More informationT-SQL STANDARD ELEMENTS
T-SQL STANDARD ELEMENTS SLIDE Overview Types of commands and statement elements Basic SELECT statements Categories of T-SQL statements Data Manipulation Language (DML*) Statements for querying and modifying
More information10CS35: Data Structures Using C
CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a
More informationMS ACCESS DATABASE DATA TYPES
MS ACCESS DATABASE DATA TYPES Data Type Use For Size Text Memo Number Text or combinations of text and numbers, such as addresses. Also numbers that do not require calculations, such as phone numbers,
More informationSQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach
TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com murachbooks@murach.com Expanded
More informationConverting a Number from Decimal to Binary
Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive
More informationOracle 10g PL/SQL Training
Oracle 10g PL/SQL Training Course Number: ORCL PS01 Length: 3 Day(s) Certification Exam This course will help you prepare for the following exams: 1Z0 042 1Z0 043 Course Overview PL/SQL is Oracle's Procedural
More informationAlgorithms and Data Structures
Algorithms and Data Structures Part 2: Data Structures PD Dr. rer. nat. habil. Ralf-Peter Mundani Computation in Engineering (CiE) Summer Term 2016 Overview general linked lists stacks queues trees 2 2
More informationIT2305 Database Systems I (Compulsory)
Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this
More informationSQL - QUICK GUIDE. Allows users to access data in relational database management systems.
http://www.tutorialspoint.com/sql/sql-quick-guide.htm SQL - QUICK GUIDE Copyright tutorialspoint.com What is SQL? SQL is Structured Query Language, which is a computer language for storing, manipulating
More informationWRITING EFFICIENT SQL. By Selene Bainum
WRITING EFFICIENT SQL By Selene Bainum About Me Extensive SQL & database development since 1995 ColdFusion Developer since 1996 Author & Speaker Co-Founder RiteTech LLC IT & Web Company in Washington,
More informationOPTIMIZING QUERIES IN SQL SERVER 2008
Scientific Bulletin Economic Sciences, Vol. 9 (15) - Information technology - OPTIMIZING QUERIES IN SQL SERVER 2008 Professor Ph.D. Ion LUNGU 1, Nicolae MERCIOIU 2, Victor VLĂDUCU 3 1 Academy of Economic
More informationAlgorithms Chapter 12 Binary Search Trees
Algorithms Chapter 1 Binary Search Trees Outline Assistant Professor: Ching Chi Lin 林 清 池 助 理 教 授 chingchi.lin@gmail.com Department of Computer Science and Engineering National Taiwan Ocean University
More informationBig Data and Scripting. Part 4: Memory Hierarchies
1, Big Data and Scripting Part 4: Memory Hierarchies 2, Model and Definitions memory size: M machine words total storage (on disk) of N elements (N is very large) disk size unlimited (for our considerations)
More informationInstant SQL Programming
Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions
More informationSQL Performance for a Big Data 22 Billion row data warehouse
SQL Performance for a Big Data Billion row data warehouse Dave Beulke dave @ d a v e b e u l k e.com Dave Beulke & Associates Session: F19 Friday May 8, 15 8: 9: Platform: z/os D a v e @ d a v e b e u
More informationOptimizing Your Data Warehouse Design for Superior Performance
Optimizing Your Data Warehouse Design for Superior Performance Lester Knutsen, President and Principal Database Consultant Advanced DataTools Corporation Session 2100A The Problem The database is too complex
More informationBinary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R
Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent
More informationA binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:
Binary Search Trees 1 The general binary tree shown in the previous chapter is not terribly useful in practice. The chief use of binary trees is for providing rapid access to data (indexing, if you will)
More informationATTACHMENT 6 SQL Server 2012 Programming Standards
ATTACHMENT 6 SQL Server 2012 Programming Standards SQL Server Object Design and Programming Object Design and Programming Idaho Department of Lands Document Change/Revision Log Date Version Author Description
More informationUniversity of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao
University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao CMPSCI 445 Midterm Practice Questions NAME: LOGIN: Write all of your answers directly on this paper. Be sure to clearly
More informationIntroduction This document s purpose is to define Microsoft SQL server database design standards.
Introduction This document s purpose is to define Microsoft SQL server database design standards. The database being developed or changed should be depicted in an ERD (Entity Relationship Diagram). The
More informationUSER GUIDE Appointment Manager
2011 USER GUIDE Appointment Manager 0 Suppose that you need to create an appointment manager for your business. You have a receptionist in the front office and salesmen ready to service customers. Whenever
More informationComparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
More informationQuerying Microsoft SQL Server
Course 20461C: Querying Microsoft SQL Server Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions, versions, tools used
More informationClass Notes CS 3137. 1 Creating and Using a Huffman Code. Ref: Weiss, page 433
Class Notes CS 3137 1 Creating and Using a Huffman Code. Ref: Weiss, page 433 1. FIXED LENGTH CODES: Codes are used to transmit characters over data links. You are probably aware of the ASCII code, a fixed-length
More informationOracle Database 11g: SQL Tuning Workshop Release 2
Oracle University Contact Us: 1 800 005 453 Oracle Database 11g: SQL Tuning Workshop Release 2 Duration: 3 Days What you will learn This course assists database developers, DBAs, and SQL developers to
More informationCSE 530A Database Management Systems. Introduction. Washington University Fall 2013
CSE 530A Database Management Systems Introduction Washington University Fall 2013 Overview Time: Mon/Wed 7:00-8:30 PM Location: Crow 206 Instructor: Michael Plezbert TA: Gene Lee Websites: http://classes.engineering.wustl.edu/cse530/
More informationMyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC
MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2016S-06 Binary Search Trees David Galles Department of Computer Science University of San Francisco 06-0: Ordered List ADT Operations: Insert an element in the list
More informationHansaWorld SQL Training Material
HansaWorld University HansaWorld SQL Training Material HansaWorld Ltd. January 2008 Version 5.4 TABLE OF CONTENTS: TABLE OF CONTENTS:...2 OBJECTIVES...4 INTRODUCTION...5 Relational Databases...5 Definition...5
More informationSQLMutation: A tool to generate mutants of SQL database queries
SQLMutation: A tool to generate mutants of SQL database queries Javier Tuya, Mª José Suárez-Cabal, Claudio de la Riva University of Oviedo (SPAIN) {tuya cabal claudio} @ uniovi.es Abstract We present a
More informationEASRestoreService. Manual
Manual Introduction EAS is a powerful Archiving Solution for Microsoft Exchange, Lotus Notes, Sharepoint and Windows based File systems. As one of the Top 5 Enterprise Archiving Solutions worldwide is
More informationOverview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB
Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what
More informationOptimizing Performance. Training Division New Delhi
Optimizing Performance Training Division New Delhi Performance tuning : Goals Minimize the response time for each query Maximize the throughput of the entire database server by minimizing network traffic,
More informationSQL Server 2008 Core Skills. Gary Young 2011
SQL Server 2008 Core Skills Gary Young 2011 Confucius I hear and I forget I see and I remember I do and I understand Core Skills Syllabus Theory of relational databases SQL Server tools Getting help Data
More informationChapter 13 File and Database Systems
Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation
More informationChapter 13 File and Database Systems
Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation
More informationTeradata SQL Assistant Version 13.0 (.Net) Enhancements and Differences. Mike Dempsey
Teradata SQL Assistant Version 13.0 (.Net) Enhancements and Differences by Mike Dempsey Overview SQL Assistant 13.0 is an entirely new application that has been re-designed from the ground up. It has been
More informationInquiry Formulas. student guide
Inquiry Formulas student guide NOTICE This documentation and the Axium software programs may only be used in accordance with the accompanying Ajera License Agreement. You may not use, copy, modify, or
More informationAnalyze Database Optimization Techniques
IJCSNS International Journal of Computer Science and Network Security, VOL.10 No.8, August 2010 275 Analyze Database Optimization Techniques Syedur Rahman 1, A. M. Ahsan Feroz 2, Md. Kamruzzaman 3 and
More informationIn This Lecture. Physical Design. RAID Arrays. RAID Level 0. RAID Level 1. Physical DB Issues, Indexes, Query Optimisation. Physical DB Issues
In This Lecture Physical DB Issues, Indexes, Query Optimisation Database Systems Lecture 13 Natasha Alechina Physical DB Issues RAID arrays for recovery and speed Indexes and query efficiency Query optimisation
More informationPower BI Performance. Tips and Techniques WWW.PRAGMATICWORKS.COM
Power BI Performance Tips and Techniques Rachael Martino Principal Consultant rmartino@pragmaticworks.com @RMartinoBoston About Me SQL Server and Oracle developer and IT Manager since SQL Server 2000 Focused
More informationChapter 14 The Binary Search Tree
Chapter 14 The Binary Search Tree In Chapter 5 we discussed the binary search algorithm, which depends on a sorted vector. Although the binary search, being in O(lg(n)), is very efficient, inserting a
More informationJob Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2
Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22
More informationData warehousing with PostgreSQL
Data warehousing with PostgreSQL Gabriele Bartolini http://www.2ndquadrant.it/ European PostgreSQL Day 2009 6 November, ParisTech Telecom, Paris, France Audience
More informationDavid Dye. Extract, Transform, Load
David Dye Extract, Transform, Load Extract, Transform, Load Overview SQL Tools Load Considerations Introduction David Dye derekman1@msn.com HTTP://WWW.SQLSAFETY.COM Overview ETL Overview Extract Define
More information4 Simple Database Features
4 Simple Database Features Now we come to the largest use of iseries Navigator for programmers the Databases function. IBM is no longer developing DDS (Data Description Specifications) for database definition,
More informationHow to schedule and automate backups of SQL Server databases in SQL Server Express Editions
How to schedule and automate backups of SQL Server databases in SQL Server Express Editions View products that this article applies to. Expand all Collapse all Summary SQL Server Express editions do not
More informationPROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL
PharmaSUG 2015 - Paper QT06 PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL ABSTRACT Inspired by Christianna William s paper on
More informationCourse ID#: 1401-801-14-W 35 Hrs. Course Content
Course Content Course Description: This 5-day instructor led course provides students with the technical skills required to write basic Transact- SQL queries for Microsoft SQL Server 2014. This course
More informationAnalysis of Algorithms I: Binary Search Trees
Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary
More informationPreparing a SQL Server for EmpowerID installation
Preparing a SQL Server for EmpowerID installation By: Jamis Eichenauer Last Updated: October 7, 2014 Contents Hardware preparation... 3 Software preparation... 3 SQL Server preparation... 4 Full-Text Search
More informationA binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property
CmSc 250 Intro to Algorithms Chapter 6. Transform and Conquer Binary Heaps 1. Definition A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called
More information