"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz

Podobne dokumenty
Optymalizacja poleceń SQL

Optymalizacja poleceń SQL

Optymalizacja poleceń SQL Indeksy

INDEKSY. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska

Indeksy. Rozdział 18. Indeksy. Struktura indeksu. Adres rekordu

Optymalizacja poleceń SQL Metody dostępu do danych

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Wydajność hurtowni danych opartej o Oracle10g Database

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Modelowanie wymiarów

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Optymalizacja poleceń SQL Wprowadzenie

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Cwiczenie 2. Metody dostępu do danych

Cwiczenie 4. Połączenia, struktury dodatkowe

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki

Oracle11g: Wprowadzenie do SQL

Indeksy w hurtowniach danych

Indeksy. Indeks typu B drzewo

Optymalizacja poleceń SQL Statystyki

Język SQL, zajęcia nr 1

Rozdział 17. Zarządzanie współbieżnością zadania

Rozproszone bazy danych 3

Ć wiczenie 3. Statystyki, wskazó wki

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

Bazy danych i usługi sieciowe

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Hurtownie danych - przegląd technologii

Fizyczna struktura bazy danych w SQL Serwerze

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Relacyjne bazy danych. Podstawy SQL

Kosztowy optymalizator zapytań

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

P o d s t a w y j ę z y k a S Q L

Zarządzanie obiektami bazy danych Oracle11g

Ref. 7 - Język SQL - polecenia DDL i DML

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Hurtownie danych - przegląd technologii

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Relacyjne bazy danych. Podstawy SQL

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Bazy danych. dr inż. Arkadiusz Mirakowski

Indeksowanie w bazach danych

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

ACESS- zadania z wykorzystaniem poleceń SQL

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Fazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Oracle10g Database: struktury fizyczne dla hurtowni danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Systemowe aspekty baz

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Cwiczenie 7. Retrospekcja

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Wprowadzenie do języka SQL

Partycjonowanie tabel (1)

Modele danych - wykład V

Widok Connections po utworzeniu połączenia. Obszar roboczy

Zasady transformacji modelu DOZ do projektu tabel bazy danych

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Bazy Danych i Usługi Sieciowe

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Optymalizacja zapytań

Język PL/SQL. Rozdział 6. Procedury wyzwalane

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

Przestrzenne bazy danych Podstawy języka SQL

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu "Podstawy baz danych" 1

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Bazy danych. Dr inż. Paweł Kasprowski

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów

Procedury i funkcje składowane

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Bazy danych i usługi sieciowe

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Język SQL. Rozdział 8. Język manipulowania danymi DML

Uprawnienia, role, synonimy

Jakub Pilecki Szymon Wojciechowski

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Bazy danych 6. Klucze obce. P. F. Góra

Struktura drzewa w MySQL. Michał Tyszczenko

Transkrypt:

"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie Krzysztof Jankiewicz

Plan Opis schematu dla "kilku słów" Postać polecenia SQL Sposoby dostępu do tabel Indeksy B*-drzewo Indeksy binarne Zapytanie gwiaździste Perspektywy materializowane Przepisywanie zapytań Rola ograniczeń integralnościowych Rola obiektów dimension

Opis schematu NUM_ROWS 87489 BLOCKS 355 AVG_ROW_LEN 24 NUM_ROWS 2 BLOCKS AVG_ROW_LEN 32 NUM_ROWS 92 BLOCKS 4 AVG_ROW_LEN 22 NUM_ROWS 4 BLOCKS AVG_ROW_LEN 45

Postać polecenia SQL Uzyskiwanie planu zapytania Trzy fazy przetwarzania polecenia SQL Elapsed: ::.4 Elapsed: ::.34

Postać polecenia SQL Elapsed: ::.35 Elapsed: ::.56

Postać polecenia Elapsed: ::8.75

Metody dostępu do danych Przegląd liniowy (ang. full scan) HWM DB_FILE_MULTIBLOCK_READ_COUNT Dostęp za pomocą adresu rekordu (ang. ROWID) (c) Instytut Informatyki Politechniki Poznańskiej Rozszerzony OOOOOO.FFF.BBBBBB.RRR O - numer obiektu w bazie danych F - względny numer pliku w przestrzeni tabel B - numer bloku w pliku R - numer rekordu w bloku Podstawowy FFFF.BBBBBBBB.RRRR 7

Indeks B*-drzewo SELECT ETAT, PLACA_POD FROM PRACOWNICY WHERE NAZWISKO = 'Frankowski'; Matysiak węzły wewnętrzne liście drzewa Czyżak Grzybowski Morzy Waligóra Biały Błażewicz Grzybowski Jezierski Męciel Mizgajski Waligóra Wożniak Czyżak Frankowski Morzy Pawlak (c) Instytut Informatyki Politechniki Poznańskiej 8

Metody dostępu do indeksu B*- drzewo unikalne przeglądnięcie (ang. unique scan) przeglądnięcie zakresu (ang. range scan) pełne przeglądnięcie (ang. full scan) szybkie pełne przeglądniecie (ang. fast full scan) odczyt blok po bloku - nawigacja po liściach stosowany również do sortowania odczyt wieloblokowy stosowany zamiast full table scan (c) Instytut Informatyki Politechniki Poznańskiej 9

Przesłanki do utworzenia indeksu B*-drzewo na atrybutach często wykorzystywanych w warunkach selekcji, na atrybutach połączeniowych, tylko na atrybutach o dużej selektywności, na atrybutach rzadko modyfikowanych, na atrybutach będących kluczami obcymi (uniknięcie niepotrzebnego blokowania tabeli podrzędnej w przypadku operacji modyfikacji rekordów nadrzędnych) w systemach przetwarzania transakcyjnego - OLTP

B*-drzewo create index sklepy_region_idx on sklepy(region); create index produkty_departament_idx on produkty(departament); create index sprzedaz_id_produktu_idx on sprzedaz(id_produktu); create index sprzedaz_id_sklepu_idx on sprzedaz(id_sklepu); alter table sklepy add primary key(id_sklepu); alter table produkty add primary key(id_produktu);

Indeks bitmapowy PWG425 WAW3456 POZ3756 KTW3756 PNR8956 czerwony czarny czarny zielony czerwony fiat fiat BMW VW BMW SELECT count(*) FROM samochody WHERE kolor IN ('czerwony', 'zielony') AND marka='fiat' OR AND = (c) Instytut Informatyki Politechniki Poznańskiej 2

Przesłanki do utworzenia indeksu bitmapowego w systemach przetwarzania analitycznego - OLAP na atrybutach o małej selektywności na atrybutach rzadko modyfikowanych dla zapytań z poszukiwaniem wartości pustych dla zapytań z dużą liczbą warunków OR i AND

Indeks bitmapowy drop index sprzedaz_id_produktu_idx; drop index sprzedaz_id_sklepu_idx; create bitmap index sprzedaz_id_produktu_bidx on sprzedaz(id_produktu); create bitmap index sprzedaz_id_sklepu_bidx on sprzedaz(id_sklepu);

Wskazówki i parametry inicjalizacyjne STAR_TRANSFORMATION_ENABLED STAR_TRANSFORMATION