Veritabanı Yönetim Sistemleri (Başarım Eniyileme Performance Tuning)

Benzer belgeler
VERİTABANI. SQL (Structured Query Language)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

BÖLÜM- 13: ALT SORGULAR İLE VERİ İŞLEME

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

YAPISAL SORGULAMA DİLİ (SQL)

SQL Komutları (2) Uzm. Murat YAZICI

Oracle Database 11g: Introduction to SQL

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

Veri Tabanı II Alt Sorgular

BÖLÜM -2: VERİLERİ SINIRLAMA VE SIRALAMA

Veritabanı Tasarımı. Alt Sorgu Temelleri

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Veritabanı Tasarımı. Çoklu Satır Alt Sorgular

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Emrah UYSAL 1

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

SORGULAR. Öğr.Gör.Volkan Altıntaş

Microsoft SQL Server Sorgulama

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

SQL DİĞER Deyimler ve Komutlar

Veritabanı Tasarımı. SQL Deyimi Anatomisi

Veri Tabanı Hafta Dersi

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Birden Çok Tabloda Sorgulama (Join)

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

VERİTABANI Veritabanı Sorgulama

Veritabanı Tasarımı. Join Yantümceleri

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

Her bölüm için kısa bazı girişler yapılacak ve bölüm içerisinde anlatılacak olan konuların genel başlıkları belirtilecektir.

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

Veritabanı Tasarımı COUNT, DISTINCT, NVL

Veritabanı. SQL (Structured Query Language)

ACCESS PLATFORMUNDA SQL

Bilgisayar Uygulamaları. MySql

Mysql Veritabanı Komutları

EROL AKGÜL

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

NoSql ve MongoDB. Saygın Topatan

Bölüm 4: DDL Veri Tanımlama Dili

İNTERNET TABANLI PROGRAMLAMA- 12.ders

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

SQL e Giriş. Uzm. Murat YAZICI

VERİTABANI ve YÖNETİMİ

SQL Kod ile Tablo Oluşturma

VERİ TABANI YÖNETİM SİSTEMLERİ I

BÖLÜM- 8: DİĞER ŞEMA NESNELERİNİ OLUŞTURMA

Veritabanı Yönetim Sistemleri İleri SQL

LINQ (Temel Kavramlar)

Veriyi ve Bilgiyi Organize Etmek. Bilgisayar Mühendisliğine Giriş 1

Veri Tabanı-I 9.Hafta

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

BÖLÜM- 5: BİRDEN FAZLA TABLODAN VERİ GETİRMEK

SQL NEDİR?... 4 Transact-SQL... 4 SQL Veri İşleme Dili (Data Manipulation Language-DML)... 4 SQL Veri Tanımlama Dili (Data Definition

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

Veri Tabanı Tasarım ve Yönetimi

VIEW LERDE SQL HINT KULLANIMI

Unutulmuş Özellikler: Oracle Veritabanına Yaptığınız Yatırımı Sonuna Kadar Kullanın

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. Tablo Değiştirme

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

Veri Tabanı Yönetim Sistemleri Bölüm - 7


EBE-368 Veri Tabanı Yönetim Sistemleri SQL

SQL Query and Table Application

Transact-SQL SQL NEDİR? Transact-SQL. SQL Veri İşleme Dili (Data Manipulation Language-DML) SQL Veri Tanımlama Dili (Data Definition Language-DDL)

1. IT bölümünde çalışan tüm çalışanların isimlerini gösteren bir sorgu yazınız.

Emrah UYSAL 1

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Like Joker Karakterler, Order By, Group By

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı

Oracle da kullanılan veri tipleri:

Veri Tabanı Hafta Dersi

VERİTABANI Veritabanı Yönetimi

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

İleri Seviye Select Cümlecikleri

Veritabanı Tasarımı. Seriler ile Çalışma

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Veritabanı Tasarımı. Tablo Oluşturma

SQL (Structured Query Language)

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

Fonksiyonlar, Count, Sum, Avg, Max, Mın, Lower, Upper, Length, Round, Mod, Left, Right, Concat, If

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Veritabanı Tasarımı. Büyük/Küçük Harf ve Karakter İşleme

Üst Düzey Programlama

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

Advanced Oracle SQL Tuning

PostgreSQL ve PL/pgSQL

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

Transkript:

Veritabanı Yönetim Sistemleri (Başarım Eniyileme Performance Tuning)

Konular SQL Başarım Eniyileme (Performance Tuning) 2

SQL Başarım Eniyileme (Performance Tuning) 3

SELECT ifadesinde * (bütün sütunlar) yerine,gerekli olan sütun adları yazılırsa SQL sorgusu daha hızlı çalışır. 4

LIMIT OFFSET

Gereksiz Sıralama Başarımı Düşürür

Index Kullanınız

EXISTS, IN ve tablo birleşimi operatörlerini sorguda uygun olarak kullanınız. IN genellikle yavaş performansa sahiptir. Filtreleme kriterlerinin çoğu altsorgudaysa IN kullanımı etkilidir. Filtreleme kriterlerinin çoğu anasorgudaysa EXISTS kullanımı etkilidir. 8

Birleşim kullanımı bire-çok ilişkiye sahip tabloları kapsadığında,distinct yerine EXIST kullanınız. 9

HAVING şartı bütün satırlar seçildikten sonra satırları filtrelemek için kullanılır.having şartını diğer ifadelerde kullanmayınız. Bunun yerine: SELECT subject, count(subject) FROM student_details GROUP BY subject HAVING subject!= 'Vancouver' AND subject!= 'Toronto'; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT subject, count(subject) FROM student_details WHERE subject!= 'Science' AND subject!= 'Maths' GROUP BY subject; 10

Bazen ana sorguda birden fazla alt sorgular bulunabilir.alt sorgu bloklarının sayısı azaltmaya çalışın. Bunun yerine: SELECT name FROM employee WHERE salary = (SELECT MAX(salary) FROM employee_details) AND age = (SELECT MAX(age) FROM employee_details) AND emp_dept = 'Electronics'; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT name FROM employee WHERE (salary, age ) = (SELECT MAX (salary), MAX (age) FROM employee_details) AND dept = 'Electronics'; SELECT * FROM "products" WHERE ("UnitPrice", "UnitsInStock") <(SELECT AVG ("UnitPrice"), AVG ("UnitsInStock") FROM "products") 11

UNION yerine UNION ALL komutunu kullanmaya çalışınız. Union Distinct işlemini de gerçekleştirdiği için daha yavaştır Bunun yerine: SELECT id, first_name, subject FROM student_details_class10 UNION SELECT id, first_name FROM sports_team; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT id, first_name FROM student_details_class10 UNION ALL SELECT id, first_name FROM sports_team; 12

WHERE şartında koşulları kullanırken dikkat ediniz. Bunun yerine: SELECT id, first_name, age FROM student_details WHERE age!= 10; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT id, first_name, age FROM student_details WHERE age > 10; Bunun yerine: SELECT id, first_name, age FROM student_details WHERE SUBSTR(first_name,1,3) = 'Cha'; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT id, first_name, age FROM student_details WHERE first_name LIKE 'Chan%'; 13

WHERE şartında koşulları kullanırken dikkat ediniz. Bunun yerine: SELECT id, name, salary FROM employee WHERE dept location= 'ElectronicsBangalore'; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT id, name, salary FROM employee WHERE dept = 'Electronics' AND location = 'Bangalore'; Use non-column expression on one side of the query because it will be processed earlier. Bunun yerine: SELECT id, name, salary FROM employee WHERE salary + 10000 < 35000; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT id, name, salary FROM employee WHERE salary < 25000; 14

Use non-column expression on one side of the query because it will be processed earlier. Bunun yerine: SELECT id, first_name, age FROM student_details WHERE age NOT = 10; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT id, first_name, age FROM student_details WHERE age > 10; Aynı satırların ya da aynı tablonun tekrarını önlemek için DECODE kullanınız.decode aynı zamanda GROUP BY ya da ORDER BY şartının yerine kullanılabilir. Bunun yerine: SELECT DECODE(location,'Bangalore',id,NULL) id FROM employee WHERE name LIKE 'Ramesh%'; Aşağıdaki SQL sorgusu kullanılmalıdır. SELECT id FROM employee WHERE name LIKE 'Ramesh%' AND location = 'Bangalore'; 15

Büyük ikili nesneleri depolamak için ilk önce onları dosyalama sistemine yerleştiriniz ve veritabanına dosyanın konumunu ekleyiniz. Etkinperformans sağlayan SQL sorguları yazmak için Genel SQL standart kurallarını takip edin. 16

Vacuum ALTER TABLE table_name SET (autovacuum_vacuum_scale_factor = 0.0); ALTER TABLE table_name SET (autovacuum_vacuum_threshold = 5000); VACUUM; VACUUM FULL; VACUM customer; ALTER TABLE table_name SET (autovacuum_vacuum_scale_factor = 0.0); ALTER TABLE table_name SET (autovacuum_vacuum_threshold = 5000); 17

Kaynaklar http://www.postgresql.org/docs/9.1/static/sql-vacuum.html http://www.postgresql.org/docs/current/static/using-explain.html 18