MySQL'de somutlaşmış bir görünüm oluşturmanın en iyi yolu


19

MySQL 5.6 kullanıyorum. Oracle'da olduğu gibi somutlaştırılmış bir görünüm oluşturamıyorum. Flexview gibi bir veya iki çözüm gördüm.

Birisi bana minimum karmaşıklık ile MySQL'de (Oracle'da olduğu gibi otomatik yenileme) materyalize görünüm oluşturmanın en iyi yolunu söyleyebilir mi?

Yanıtlar:


11

Maddi Görünümler MySQL'de Mevcut Değildir.

Daha önce DBA StackExchange'te esnek görünümler önerildi

Zaten sahip olduğunuzdan, kullanmaya devam etmek için parçanızdaki bazı özen ve dirsek gres gerekli olabilir (eğer henüz yapmadıysanız)

Alternatif # 1

Özet Tabloları ayarlamayı düşünebilirsiniz. Özet Tablolar oluşturmadan önce toplama işlemini desteklemek için temel tablolarınızı dizine eklemeniz gerekir.

Alternatif # 2

İşte http://www.materialized.info/ adresinden eski bir gönderi . Tetikleyicileri kullanmayı içerir. Eğlenceli olabilir gibi görünüyor ...

ALTERNATİF # 3

Temel tablolarınız o kadar büyük değilse ve tüm tabloları haftada bir kez sorgulayarak yaşayabiliyorsanız, fikirler için CREATE VIEW'daki MySQL BelgeleriUser Comments bölümünü deneyin . Söz konusu sayfada kelime arayın .materialized


MySQL'in en son sürümünde materliazed table dba.stackexchange.com/a/226707/50702
Revious

1

MySQL'de somutlaştırılmış görünümlere sahip olmak için 2 olası çözüm buldum:

  1. Gerekli tüm verileri içeren bir toplama tablosu oluşturun ve ardından verilerin geldiği tablolarda tetikleyiciler oluşturun.

  2. Verileri periyodik olarak bir tabloya toplayan bir zamanlayıcı oluşturma

Blog yayınımda 2 seçeneğin nasıl uygulanacağı hakkında daha fazla ayrıntıyı buradan görebilirsiniz: materyalize görünüm MySQL


0

Temel verileriniz çoğunlukla kararlıysa veya görünüm ile veriler arasındaki farkı tolere edebiliyorsanız , bu kullanım durumunu ele almak için yazdığım basit kavrama araçlarını kullanmayı düşünün . Bunlar, ayrı dosyalar halinde tablolar oluşturan karmaşık SQL sorguları yazmanıza olanak tanır. Sorgular arasındaki ilişkiler otomatik olarak türetilir ve sorgular Unix oluşturma aracıyla uygun sırada yürütülür . Oluşturulan tabloları yenilemek için çalıştırmanız gerekir make clean all. Araç çoğunlukla, girdilerinin önceden hesaplanan sonuçlarına dayalı olarak verimli bir şekilde yürütülen karmaşık sorguları artımlı olarak oluşturmak için kullanışlıdır.


Muhtemelen açıklamayı (araç yazarı olduğunuzu) daha belirgin hale getirmelisiniz.
mustaccio

İyi bir nokta! Cevabı açıklığa kavuşturmak için düzenledim.
Diomidis Spinellis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.