MySQL veya Oracle gibi veritabanlarında, dizinler nasıl uygulanır? Normal dizinlerin B-ağaçları olarak saklandığını düşünüyorum, ancak birden çok sütunda indeksleyen birleşik dizinler hakkında hiçbir şey bulamadım. Kullanılan veri yapılarının isimlerini araştırıyorum, böylece onları araştırabilirim. Daha genel RDB'lerde düzenli ve bileşik dizinler nasıl uygulanır?
, nerede veritabanı uygulama detayları hakkında daha böyle bilgi bulabilirim? Üniversitede o kadar çok ders alacağım ama şu anda merak ediyorum.cevap
Kompozit dizinler B-Ağaçlarını da kullanırlar, sadece anahtarı belirlemek için dizinlenmiş sütunları birleştirirler. Bir yan düğüm olarak, Oracle ayrıca diğer dizin türlerini, yani bitmap dizinlerini de bilir. Ancak bu, endeksli sütun sayısına bağlı değildir.
B-ağaç. Her indeks B-ağacı olarak saklanır - hatta kompozit olanlar. Eğer indeksleri düzenlenir konusunda daha fazla araştırma yapmaya arıyorsanız
, B + ağaç ve B * ağaçları içine bakmak. SQL Server için, Kalen Delaney's Inside SQL Server: The Storage Engine, dizin kuruluşu da dahil olmak üzere SQL Server'ın somun ve cıvataları hakkında mükemmel bir kitaptır. Bu yüzden mutlaka kontrol etmelisiniz.
Bir yorumcu, Oracle çok farklı B-ağaçlardan daha yapılandırılmıştır bitmap indeksler, kullanabilirsiniz, ancak bu nadiren geleneksel ilişkisel veritabanı için kullanıldığını işaret eder - onlar OLAP tip uygulamalar için ve durumlarda nerede daha sık alıştığınız Seçilmemiş bir veri grubuna hızlı erişime ihtiyacınız var.
DÜZENLEME: SQL Server, örneğin, şimdi Columnstore Indexes kullanır. Büyük BI tipi iş yükleri ile herhangi bir iş yaparsanız, verilerinizi B Ağacı'ndan tamamen farklı bir şekilde sakladığından, bunlara mutlaka bakmaya değer.
SQL Server, memory optimized tables için şimdi de farklı bir mekanizma kullanıyor ve OLTP tür sorguları için çok yararlı olan bir şey.
- 1. Mongo'daki Bileşik Dizinler ve sıralama
- 2. SQL Azure ve Dizinler
- 3. Bileşik
- 4. UILocalizedIndexedCollation ve ingilizce olmayan dizinler
- 5. Diziler ve negatif dizinler Perl
- 6. Yakup dizinde dizinler nasıl oluşturulur?
- 7. PHP'de sanal dizinler nasıl oluşturulur?
- 8. Bileşik benzersizliğini MySQL'de nasıl uygularım?
- 9. Bileşik Endeksi
- 10. alt dizinler ve Git çöp toplayıcı
- 11. NTFS Kavşakları ve Sembolik Bağlantılar (dizinler için)
- 12. System.IO.Compression.ZipFile Çoklu Dizinler
- 13. Eclipse Subversion: Dizinler
- 14. Javascript FileAPI: Yinelenen Dizinler?
- 15. Çoklu dizinler -Djava.library.path
- 16. Tam URL (subdomain, domain ve dizinler) ZF ile nasıl çıkartılır?
- 17. SQL Server'da dizinler, anahtarlar ve yabancı anahtarlar nasıl komut verilir
- 18. Raylar Postgres işlevsel dizinler
- 19. MySql bileşik anahtarları ve boş değerler
- 20. Pandalar: Yinelenen dizinler alın
- 21. Ruby, gsub ve düzenli ifade
- 22. Muteks ve kilit yapıları nasıl uygulanır?
- 23. Python'da "classmethod" ve "staticmethod" yöntemleri nasıl uygulanır?
- 24. Coffeescript'te array.any() ve array.all() yöntemleri nasıl uygulanır?
- 25. Protokolde özellikler nasıl tanımlanır ve uygulanır
- 26. clojure'da, 've' bir listeye nasıl uygulanır?
- 27. Ön Kontrol Nedir ve PHP'de nasıl uygulanır?
- 28. UIImageView'da bir dokunma ve bekletme nasıl uygulanır?
- 29. Bir karşılaştırıcı akışı nasıl oluşturulur ve uygulanır?
- 30. __LINE__ ve __FILE__ sabitleri Ruby'de nasıl uygulanır?
Oracle'da bitmap dizinleri olmayanlar hariç. –
Gerçekten bu cevabın neden alçaldığını anlamadım. Sağlanan kitap referansı oldukça faydalıydı ve genellikle kabul edilen cevapla aynı noktayı oluşturdu. –