MySQL MariaDB

MySQL'de Bir Tablonun İndeksini Nasıl Bulurum??

MySQL'de Bir Tablonun İndeksini Nasıl Bulurum??
Bir veri bankası endeksi, tablo işlemlerinin hızlılığını artıran bir veri düzenlemesidir. Bir veya daha fazla sütuna sahip olan, karşılıklı olarak hızlı rastgele aramalar ve etkili kayıt giriş düzenlemesi için zemin hazırlayan dizinler oluşturulabilir. Bu, bir dizin oluştururken, tüm sütunların SQL sorguları oluşturmak ve ayrıca bu sütunlar için bir veya daha fazla dizin oluşturmak için atıldığı akılda tutulmalıdır. Uygulamada dizinler, birincil anahtarı veya dizin sütun alanını tutan ve her kayıt için ayrı tabloya başvuran bir tablo biçimidir. Kullanıcılar dizinleri göremeyebilir, bunlar sorguları hızlandırmak için atılır ve Veritabanı Arama Motoru da kayıtları çok hızlı bir şekilde izlemek için bunları tüketir.

MySQL WorkBench Kullanan Dizinler

Öncelikle MySQL Workbench'inizi başlatın ve kök veritabanına bağlayın.

İçinde farklı sütunlar bulunan 'veri' veritabanında yeni bir 'kişiler' tablosu oluşturacağız. Bu tabloda bir birincil anahtarımız ve bir UNIQUE anahtar sütunumuz var, e.g. kimlik ve e-posta. Burada, UNIQUE ve PRIMARY anahtar sütunları için dizinler oluşturmanız gerekmediğini netleştirmelisiniz. Veritabanı, her iki sütun türü için de dizinleri otomatik olarak oluşturur. Bu nedenle, 'telefon' sütunu için 'telefon' dizini ve 'ilk_ad' ve  'soyad' sütunları için 'ad' dizini yapacağız. Görev çubuğundaki flash simgesini kullanarak sorguyu yürütün.

Çıktıdan tablo ve dizinlerin oluşturulduğunu görebilirsiniz.

Şimdi şema çubuğuna gidin. 'Tablolar' listesinin altında yeni oluşturulan tabloyu bulabilirsiniz.

Flaş işaretini kullanarak sorgu alanında aşağıda gösterildiği gibi bu belirli tablo için dizinleri kontrol etmek için SHOW INDEXES komutunu deneyelim.

Bu pencere bir kerede görünecek. Anahtarın her sütuna ait olduğunu gösteren bir 'Key_name' sütunu görebilirsiniz. 'Telefon' ve 'ad' dizinini oluşturduğumuz için, aynı zamanda görünür. İndeksler ile ilgili diğer bilgileri görebilirsiniz e.g., belirli bir sütun için dizin dizisi, dizin türü, görünürlük vb.

MySQL Komut Satırı Kabuğu Kullanan Dizinler

MySQL komut satırı istemci kabuğunu bilgisayarınızdan açın. Kullanmaya başlamak için MySQL şifresini girin.

Örnek 01
Resimde gösterildiği gibi bazı sütunların değerlere sahip olduğu şema 'sırasında' bir 'order1' tablomuz olduğunu varsayalım. SELECT komutunu kullanarak 'order1' kayıtlarını getirmeliyiz.

>> verilerden * SEÇİN.sipariş1;

Henüz 'order1' tablosu için herhangi bir indeks tanımlamadığımız için tahmin etmek imkansız. Bu yüzden indeksleri aşağıdaki gibi kontrol etmek için SHOW INDEXES veya SHOW KEYS komutunu deneyeceğiz:

>> verilerde order1'den ANAHTARLARI GÖSTER;

Aşağıdaki çıktıdan 'order1' tablosunun yalnızca 1 birincil anahtar sütununa sahip olduğunu algılayabilirsiniz. Bu, henüz tanımlanmış bir dizin olmadığı anlamına gelir, bu nedenle birincil anahtar sütunu 'id' için yalnızca 1 satırlık kayıtlar gösteriliyor.

Aşağıda gösterildiği gibi görünürlüğün kapalı olduğu 'order1' tablosundaki herhangi bir sütun için dizinleri kontrol edelim.

>> VERİLERDEN ENDEKSLERİ GÖSTER.order1 NEREDE GÖRÜNÜR = 'HAYIR';

Şimdi 'order1' tablosunda bazı BENZERSİZ dizinler oluşturacağız.  Bu BENZERSİZ INDEX'i 'rec' olarak adlandırdık ve 4 sütuna uyguladık: id, Region, Status ve OrderNo. Bunu yapmak için aşağıdaki komutu deneyin.

>> BENZERSİZ INDEX REC ON verisi OLUŞTURUN.order1 (id, Region, Status, OrderNo);

Şimdi belirli bir tablo için dizin oluşturmanın sonucunu görelim. SHOW INDEXES komutunun kullanımından sonra sonuç aşağıda verilmiştir. Her sütun için aynı 'rec' adlarına sahip, oluşturulan tüm dizinlerin bir listesine sahibiz.

>> Verilerde order1'den ENDEKSLERİ GÖSTER;

Örnek 02
Bazı kayıtlara sahip dört sütunlu alanlar ile 'veri' veritabanında yeni bir 'öğrenci' tablosu olduğunu varsayalım. SELECT sorgusunu kullanarak bu tablodaki verileri aşağıdaki gibi alın:

>> verilerden * SEÇİN.Öğrenci;

Önce aşağıdaki SHOW INDEXES komutunu deneyerek birincil anahtar sütun dizinlerini getirelim.

>> VERİLERDEN ENDEKSLERİ GÖSTER.öğrenci WHERE Anahtar_adı = 'PRİMARY';

Sorguda kullanılan WHERE yan tümcesi nedeniyle 'PRIMARY' türüne sahip tek sütun için dizin kaydını çıkaracağını görebilirsiniz.

Farklı tablo 'öğrenci' sütunlarında bir benzersiz ve bir benzersiz olmayan dizin oluşturalım. Öncelikle aşağıdaki gibi komut satırı istemci kabuğunda CREATE INDEX komutunu kullanarak 'student' tablosunun 'Name' sütununda UNIQUE 'std' indeksini oluşturacağız.

>>  BENZERSİZ INDEX std ON verisi CREATE.Öğrenci adı );

ALTER komutunu kullanırken 'öğrenci' tablosunun 'Konu' sütununa benzersiz olmayan bir dizin oluşturalım veya ekleyelim. Evet, tabloyu değiştirmek için kullanıldığı için ALTER komutunu kullanıyoruz. Bu yüzden sütunlara dizinler ekleyerek tabloyu değiştiriyoruz. Öyleyse komut satırı kabuğunda aşağıdaki ALTER TABLE sorgusunu deneyelim, 'Konu' sütununa 'stdSub' dizinini ekleyin.

>> TABLO verisini ALTER.öğrenci ADD INDEX stdSub ( Konu );

Şimdi, 'öğrenci' tablosundaki yeni eklenen dizinleri ve 'Ad' ve 'Konu' sütunlarını kontrol etme sırası. Kontrol etmek için aşağıdaki komutu deneyin.

>>  ENDEKSLERİ VERİLERDEN GÖSTER.Öğrenci;

Çıktıdan, sorguların benzersiz olmayan dizini 'Konu' sütununa ve benzersiz dizini 'Ad' sütununa atadığını görebilirsiniz. Ayrıca dizinlerin adlarını da görebilirsiniz.

'student' tablosundan 'stdSub' dizinini bırakmak için DROP INDEX komutunu deneyelim.

>> DROP INDEX stdSub ON verileri.Öğrenci;

Aşağıdaki ile aynı SHOW INDEX komutunu kullanarak kalan dizinleri görelim. Şimdi, aşağıdaki çıktıya göre 'öğrenci' tablosunda kalan sadece iki dizinle ayrıldık.

>> VERİLERDEN ENDEKSLERİ GÖSTER.Öğrenci;

Sonuç

Son olarak, benzersiz ve benzersiz olmayan dizinlerin nasıl oluşturulacağı, dizinlerin nasıl gösterileceği veya kontrol edileceği ve belirli bir tablo için dizinlerin nasıl bırakılacağı hakkında gerekli tüm örnekleri yaptık.

Linux'ta GameConqueror Cheat Engine Nasıl Kullanılır
Makale, Linux'ta GameConqueror hile motorunu kullanma hakkında bir kılavuzu kapsar. Windows'ta oyun oynayan birçok kullanıcı, oyun deneyimini geliştir...
Linux için En İyi Oyun Konsolu Emülatörleri
Bu makale, Linux için kullanılabilen popüler oyun konsolu öykünme yazılımını listeleyecektir. Öykünme, oyun konsollarının, komut setlerinin ve ilgili ...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...