İndeksler Sibel SOMYÜREK.

Slides:



Advertisements
Benzer bir sunumlar
COME 339 JAVA-SQL BAĞLANTISI
Advertisements

4 SQL- Yapısal Sorgulama Dili
Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
SQL Structured Query Language
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
Performance Tuning Performans Düzenleme Teknikleri.
SQL Komutlar 5 Sibel SOMYÜREK.
3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı
SQL SERVER 2008 VERİ TİPLERİ.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Veri Tabanı Yönetim Sistemleri
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
4 Veri Bütünlüğü ve Constraint’ler
SQL (STRUCTURED QUERY LANGUAGE)
VERİ TABANI VE YÖNETİM SİSTEMLERİ  Birincil Anahtar Türleri  Access Veri Tabanında Bulunan İlişkiler  İlişkileri Tanımlama Bir – Çok İlişkisi Çok –
Veri Bütünlüğü Sibel SOMYÜREK.
Veritabanı Yönetim Sistemleri-I
11 ekim 2011 VTYS –II Dersi. Kalıp İfadelerle Sorgu (Pattern) Eğer bir sözel verinin sadece belli kriterlere uyanlarını seçeceksek sütun_adı LIKE kalıp.
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
MySQL Operatörleri ve Fonksiyonları
ADRES DEFTERİM.
VERİTABANI ve YÖNETİMİ
Sibel SOMYÜREK SQL Görev. SQL – 14a Egitselyazilim veri tabanındaki içerik tablosuna yeni bir kayıt ekleyin,
SQL (Structured Query Language). MySQL de Temel Komutlar : CREATE DATABASE isim; verilen isimde bir veri tabanı oluşturur. SHOW DATABASES; Tüm yaratılan.
Veritabanı Kavramları
SQL Sibel SOMYÜREK.
Microsoft Office Access
SQL Komutları (2) Uzm. Murat YAZICI.
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Kivi Bilişim Teknolojileri -
SQL’ e Giriş Uzm. Murat YAZICI.
Full Text Finder. Yeni Full Text Finder nedir, parçaları nelerdir? EDS, AtoZ ve LinkSource araçlarının birleştirilmiş halidir. Aşağıdaki fonksiyonlara.
Veritabanı Kavramları
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
Yeni Veritabanı Oluşturma
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
SQL Server’da Index Kavramı
EurobankTekfen SQL Server DBA Turgay Sahtiyan.
İNTERNET PROGRAMLAMA -2. Veritabanı Nedir? Veritabanı, bilgilerin düzenli bir ş ekilde saklandı ğ ı yapılardır. De ğ i ş kenlerdeki bilgiler ve formlardan.
Altıncı hafta. Müfredat programı Ödev teslim edenler Mantıksal tasarım ödevini teslim edenler: Belediye Projesi Valilik Projesi Mekan Projesi Konaklama.
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi --
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
VERİTABANI TEMEL KAVRAMLARI
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VIEW lerle çalışmak 11.BÖLÜM.
TETİKLEYİCİ ( Trigger)
İNDEKS.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
14.DERS Örnekler, Sorular BUKET DOĞAN.
SQL Veri Tipleri.
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
SQL Server - Indexes.
SQL Server - Views.
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Sunum transkripti:

İndeksler Sibel SOMYÜREK

İndeks nedir? İndeksler, Tablo ya da view üzerinde tanımlanırlar. kitapdaki fihrist(index) yapısı gibi  belirli bir değeri olan satırları daha hızlı bulmak için kullanılan bir veritabanı nesnesidir. Tablo ya da view üzerinde tanımlanırlar.

İndeks nedir? Sorgu optimizasyonunda sıklıkla aranan alanlara index atama önemli bir yöntemdir. İndex olmaksızın bir tablodaki belli bir veri aranırken tüm tablo baştan sona aranır. Wikipedia- tüm makaleleri aramak Başlık seçip aramak

MYSQL’de indeks türleri Primary key Unique indeks Fulltext

MYSQL’de indeks türleri Primary key: benzersiz veri, her tabloda en fazla bir tane tanımlanabilir, boş olamaz Unique: benzersiz veri, birden fazla olabilir, boş olabilir, İndeks: tekrarlayan verilerde Full text: Full text index metin eşleştirmelerinde kullanılır. Like içeren aramalar

Örnek Create table kiralama( kira_id int(11) not null auto_increment, kira_tarihi datetime not null, envanter_id mediumint(8), musteri_id smallint(5), donus_tarihi datetime, calisan_id tinyint(3), son_guncelleme timestamp, Primary key (kira_id), Unique key ‘kiratarihi’ (kira_tarihi, envanter_id, musteri_id), Key ‘kiralama_envanter’ (envanter_id), Key ‘kiralama_musteri’ (musteri_id), Key ‘kiralama_calisan’ (calisan_id) )

Örnek Unique key ‘kiratarihi’ (kira_tarihi, envanter_id, musteri_id), Kiratarihi isimli anahtar birleşik bir anahtır. (birden fazla alan içerir) Gerçek hayatta aynı müşteri aynı envanteri aynı tarih saatte birden fazla kiralayamaz. Aslında bu üç alan doğal birincil anhatdır. Ancak kira_id birincil anahtarın daha küçük olması amacıyla oluşturulmuştur.

Örnek Farklı depolama motorları birincil anahtarı farklı kullanır. Innodb motoru birincil anahtarı her indekste her kayıtla birlikte saklar.

İndeks Mysql bir ya da birden fazla alanın indeks olarak tanımlanmasına imkan verir. Where, like, max, min gibi komutların kullanıldığı alanlar Sıklıkla arama yapılan alanlar

Kısıt- indeks Create Table: CREATE TABLE `film_text` ( ) `film_id` smallint(6) NOT NULL, `title` varchar(255) NOT NULL, `description` text, PRIMARY KEY (`film_id`) )

Kısıt-indeks Kısıtlar (primary key ve unique key) benzersiz kayıtlar içerdikleri için veriyi aramayı hızlandırabilecek iyi birer index adayıdır. Primary key ve unique key tanımlandığındığında mysql veritabanında indeksler otomatik olarak oluşturulur. Her ne kadar kısıtlar ve indexler birbirlerinden oldukça farklı olsa da mysql de primary key ve unique key hem key hem de indeks olduğu için key kelimesi her ikisi için de kullanılmaktadır.

Avantajı-Dezavantajı İndex olan bir alanda ekleme, güncelleme silme işlemleri yapıldığında indexte değişmek zorundadır. Bu şu anlama gelir: veri arama hızlanırken veri güncelleme yavaşlar. Veri güncellenirken önce kısıtlara bakılır, kısıtlar gerçekleştiyse indeksler güncellenir.

İndeks Oluşturma Yöntemleri İndeksler 3 şekilde oluşturulabilir: Tablo oluşturulurken (Create table) Tablo değiştirilirken (Alter table) İndeks oluşturarak (Create index)

İndeks Oluşturma Yöntemleri Tablo oluşturulurken (Create table) Örnek: create table eng_tur ( kelime TEXT, anlami TINYTEXT, Index(kelime))

İndeks Oluşturma Yöntemleri Tablo oluşturulurken (Create table) Örnek: create table eng_tur ( kelime TEXT, anlami TINYTEXT, KEY ‘indekskelime’ (kelime))

Fulltext Index Sadece MYISAM tablolarında geçerli MYSQL INNOdb depolama motoru kullanılır. Bu nedenle fulltext indeks oluşturulduğunda hata verir.

Full text indeks Hata «The used table type doesn't support FULLTEXT indexes» ALTER TABLE film_text2 ENGINE = MYISAM

İndeks oluşturma- Full text CREATE TABLE `film_text2` ( `film_id` smallint(6) NOT NULL, `title` varchar(255) NOT NULL, `description` text, PRIMARY KEY (`film_id`), FULLTEXT KEY `idx_title_description` (`title`,`description`) )

MYISAM kayıt motoru ile tablo oluşturma CREATE TABLE `film_text4` ( `film_id` smallint(6) NOT NULL, `title` varchar(255) NOT NULL, `description` text, PRIMARY KEY (`film_id`), FULLTEXT KEY `idx_title_description` (`title`,`description`) )ENGINE = MYISAM

İndeks Oluşturma Yöntemleri İndeks oluşturarak (Create index) ile Unique Fulltext ve Spatial indeksler sadece oluşturulabilir. Örnek: CREATE INDEX idx_partial ON customer (name(10)); CREATE UNIQUE INDEX idx_1 ON TEST1 (name);

İndeks Oluşturma Yöntemleri Tablo değiştirilirken (Alter table) Örnek: ALTER TABLE customer ADD INDEX idx_partial(name);

Tekrarlayan indeks Aynı alan için tekrarlayan indeks oluşturma hata vermez ancak performansı azaltır.

İndeksi kaldırmak İndeksi kaldırmak için: DROP INDEX indeksname ON tabloname Örnek: DROP INDEX idx_partial ON customer;

İndeks Sırası Btree indeksler sadece artan sırada sıralanır. Mysql veritabanı indeksleri sadece artan sırada depolar. Aksi belirtildiğinde hata vermez ama aslında bunu gerçekleştirmez. Örnek: Alter table customer ADD index(first_name DESC) DESC iadesini MYSQL göz ardı eder.

İndeks uzunluğu Metin türündeki indekslerde indeks değerinin uzunluğunu belirtebilirsiniz. Maksimum indeks metin uzunluğu 45 karakter olabilir. 182 byte olabilir. Örnek: CREATE INDEX idx_partial ON customer (name(10));

Okuma görevi Kayıt motoru hakkında aşağıdaki web sayfasında yer alan bilgileri okuyunuz. http://tr.wikipedia.org/wiki/MyISAM