SORU
2 NİSAN 2009, PERŞEMBE


MySQL DİZİN, BİRİNCİL, BENZERSİZ, tam metin arasındaki farklar?

MySQL tabloları oluştururken BİRİNCİL, BENZERSİZ, DİZİN ve tam metin arasındaki farklar nelerdir?

Onları nasıl kullanırım?

CEVAP
2 NİSAN 2009, PERŞEMBE


Farklılıklar

  • ANAHTARyaDİZİNbenzersiz olmayan normal bir Endeksi ifade eder. Olmayan farklı endeks değerleri endeks bu kadar izin veriliyorolabilirbu dizinin tüm sütunların aynı değerlere sahip satırlar içerir. Bu dizinler belirli sorguları hızlı bir şekilde çalıştırabilirsiniz emin olmak için kullanılacak veri üzerinde herhangi bir kısıtlamaya zorlamak yok.

  • BENZERSİZdizinin tüm satırları benzersiz olmalıdır bir dizin anlamına gelir. Bu, aynı satırdaki BOŞ olmayan başka bir satır olarak bu dizin tüm sütunlar için değerleri aynı olmayabilir. Olmasının yanı sıra, hızlandırmak için kullanılır sorgular, BENZERSİZ dizinler için kullanılabilir zorlamak kısıtlamalar hakkında veri, çünkü veritabanı sistem izin vermez bu farklı değerlerin hakim olmak kırık zaman ekleme veya güncelleme.

    Veritabanı sistemi izin BENZERSİZ bir dizin uygulanacaksa sütunları BOŞ değerlere izin ver, bu durumda iki satır izin için aynı ikisi de içeren bir NULL değeri (mantığı burada BOŞ olduğunu kabul eşit değildir kendisi). Uygulama, ancak bağlıolabilireğer bunu önlemek istiyorsanız ilgili sütun BOŞ değerlere izin vermemek gerekir. bu istenmeyen bul:

  • İLKÖĞRETİMher zaman 'BİRİNCİL' ve orada bir tablo (ve orada . sadece bir tane olabilir adı dışında tam olarak BENZERSİZ bir dizin gibi davranır, ^em>gerekirher zaman bir tane olacak; ama bazı Veritabanı Sistemleri bu zorla) yok. BİRİNCİL dizin benzersiz tablodaki her satırı tanımlamak için birincil bir araç olarak tasarlanmıştır, BENZERSİZ farklı olarak NULL değerlere izin veren herhangi bir sütun üzerinde kullanılmamalıdır. BİRİNCİL dizin bir satırı benzersiz olarak tanımlamak için yeterli olan sütun sayısı olmalıdır. Genellikle, bu sadece bir sütun içeren bir benzersiz otomatik artan sayı, ama eğer başka bir şey var mı bu benzersiz olarak tanımlamak için bir satır gibi "countrycode" liste ülkelerin kullanabilirsiniz bunun yerine.

    Bazı Veritabanı Sistemleri (MySQL, Bunu gibi) sırayla BİRİNCİL dizin göründükleri disk üzerinde bir tablonun kayıtlarını saklar.

  • Full-TEXTdizinler yukarıdakilerin hepsi farklıdır ve davranışlarını önemli ölçüde veritabanı sistemleri arasında farklılık gösterir. Tam metin dizinleri, sadece yararlı için tam metin arama ile MAÇ() / KARŞI() yan tümcesi, aksine yukarıdaki üç - genellikle uygulanan DAHİLİ olarak kullanarak b-ağaçları (izin verdiği için seçme, sıralama veya aralık başlatılmasını en sol sütun) veya karma tablo (izin için seçimi başlangıç tarihinden en sol sütun).

    Diğer dizin türleri, genel amaçlı, tam metin dizini dar bir amaca hizmet eder, uzman, sadece bir için kullanılan "tam metin arama" özelliği.

Benzerlikler

  • Bu dizinler tüm bunları birden fazla sütun olabilir.

  • Dışında full-TEXT, sütun sırası önemli: dizin için yararlı bir sorgu, sorgu gerekir sütun dizinden başlayarak soldan değil kullanmak sadece ikinci, üçüncü veya dördüncü bölümü indeks sürece de kullanarak önceki sütunlar için dizin maçı statik değerler. (Bir sorgu için faydalı olacak bir tam metin dizini için sorgu kullanmanız gerekirtümdizin sütun.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • campos9896

    campos9896

    24 Mart 2012
  • CNET

    CNET

    5 Mayıs 2006
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012