Innodb ve Myisam arasında seçim yapılacak MySQL

İçindekiler

Depolama motoru, bir tablodan bilgi depolamak, işlemek ve almaktan sorumludur. En iyi bilinen motorlar MyISAM ve InnoDB'dir. Birinin veya diğerinin seçimi, uygulandığı senaryoya çok bağlı olacaktır.
Seçim, uygulamamıza uygun olarak en iyi kalite oranını elde etmeye yöneliktir. İşlemlere, yabancı anahtarlara ve kilitlere ihtiyacımız varsa, InnoDB'yi seçmemiz gerekecek. Aksine, veritabanına yapılan SELECT sorgularının baskın olduğu durumlarda MyISAM'ı seçeceğiz.
InnoDB, MySQL'e taahhüt, geri alma ve kilitlenme kurtarma özelliklerine sahip bir işlemsel depolama motoru (ACID uyumlu) sağlar. InnoDB, satır düzeyinde kilitler gerçekleştirir ve ayrıca SELECT ifadelerinde Oracle tarzı kilitlenmeyen tutarlı okuma işlevleri sağlar. Bu özellikler, performansı ve aynı anda birden çok kullanıcıyı yönetme yeteneğini artırır. Satır düzeyindeki kilitler çok az yer kapladığından InnoDB'de ölçeklenmiş bir kilit gerekli değildir. InnoDB ayrıca YABANCI ANAHTAR kısıtlamalarını da destekler. SQL sorgularında, aynı sorgu içinde bile, InnoDB türündeki tablolar diğer türlerdeki tablolara serbestçe dahil edilebilir.
MyISAM varsayılan motordur. Bir InnoDB tablosu oluşturmak için, tablo oluşturma SQL deyiminde ENGINE = InnoDB veya TYPE = InnoDB seçeneği belirtilmelidir:
CREATE TABLE müşterileri (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB;CREATE TABLE müşterileri (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

InnoDB kullanmanın avantajları
İşlem desteği
Kayıtları kilitleme
Kartlarımızın bütünlüğünü garanti eden ACID özelliklerine (Atomisite, Tutarlılık, İzolasyon ve Dayanıklılık: Atomisite, Tutarlılık, İzolasyon ve Dayanıklılık İspanyolca) sahip olmamızı sağlar.
Uygulamamız yüksek oranda INSERT ve UPDATE kullanıyorsa, MyISAM'a kıyasla performansta bir artış fark edeceğiz.
MyISAM kullanmanın avantajları
Genel olarak daha hızlı veri kurtarma.
INSERT / UPDATE öncesi SELECT ifadelerine hakim olan uygulamalar için önerilir.
Atomisite özelliklerinin olmaması, referans bütünlüğü kontrolleri yapmak veya işlemleri gerçekleştirmek için tabloları kilitlemek zorunda olmadığı için, önceki noktalar gibi bizi daha yüksek bir hıza götürür.
Depolama motoru (depolama motoru), bir tablodan bilgi depolamak, işlemek ve almaktan sorumludur. En iyi bilinen motorlar MyISAM ve InnoDB'dir. Birinin veya diğerinin seçimi, büyük ölçüde uygulandığı senaryoya bağlı olacaktır, ancak arsys.es bu iyi bilinen depolama motorlarını daha iyi anlamamıza yardımcı olmak istiyor.
Seçim, uygulamamıza uygun olarak en iyi kalite oranını elde etmeye yöneliktir. İşlemlere, yabancı anahtarlara ve kilitlere ihtiyacımız varsa, InnoDB'yi seçmemiz gerekecek. Aksine, veritabanına yapılan SELECT sorgularının baskın olduğu durumlarda MyISAM'ı seçeceğiz.
InnoDB, MySQL'e taahhüt, geri alma ve kilitlenme kurtarma özelliklerine sahip bir işlemsel depolama motoru (ACID uyumlu) sağlar. InnoDB, satır düzeyinde kilitler gerçekleştirir ve ayrıca SELECT ifadelerinde Oracle tarzı kilitlenmeyen tutarlı okuma işlevleri sağlar. Bu özellikler, performansı ve aynı anda birden çok kullanıcıyı yönetme yeteneğini artırır. Satır düzeyindeki kilitler çok az yer kapladığından InnoDB'de ölçeklenmiş bir kilit gerekli değildir. InnoDB ayrıca YABANCI ANAHTAR kısıtlamalarını da destekler. SQL sorgularında, aynı sorgu içinde bile, InnoDB türündeki tablolar diğer türlerdeki tablolara serbestçe dahil edilebilir.
MyISAM varsayılan motordur. Bir InnoDB tablosu oluşturmak için, tablo oluşturma SQL deyiminde ENGINE = InnoDB veya TYPE = InnoDB seçeneği belirtilmelidir:
CREATE TABLE müşterileri (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB; CREATE TABLE müşterileri (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

InnoDB kullanmanın avantajları
İşlemlerin, saklı prosedürlerin, tetikleyicilerin desteği
Kayıtları kilitleme
Panolarımızın bütünlüğünü garanti eden ACID özelliklerine (Atomisite, Tutarlılık, İzolasyon ve Dayanıklılık: Atomisite, Tutarlılık, İzolasyon ve Dayanıklılık İspanyolca) sahip olmamızı sağlar.
Uygulamamız yüksek oranda INSERT ve UPDATE kullanıyorsa, MyISAM'a kıyasla performansta bir artış fark edeceğiz.
MyISAM kullanmanın avantajları
Genel olarak daha hızlı veri kurtarma.
INSERT / UPDATE öncesi SELECT ifadelerine hakim olan uygulamalar için önerilir.
Atomisite özelliklerinin olmaması, referans bütünlüğü kontrolleri yapmak veya işlemleri gerçekleştirmek için tabloları kilitlemek zorunda olmadığı için, önceki noktalar gibi bizi daha yüksek bir hıza götürür.
Tablonuz sorgulandığından çok daha uzun süre INSERT, UPDATE ve DELETE alacak mı?
İlişkisel veritabanı tasarımını mı tercih ediyorsunuz?
InnoDB'yi kullanmak uygundur
Tam metin aramaları yapmanız gerekecek mi?
Disk alanı veya bellek bir sorun mu?

Motorunuz MyISAM olmalıdırBu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave