Mysql - Özet Tablolar

1 Cevap php

Hangi yöntem neden tavsiye edersin?

Bir özet tablo oluşturma ve. . .

Eylem gerçek zamanlı olarak gerçekleşir gibi 1) tablo güncelleniyor.

Özet tablosunu güncelleştirmek için sorgular her 15 dakikada 2) Running grubu.

Else 3) şey?

Verileri gerçek zamanlı yakın olmalı, vb, bir gün, bir saat sabırsızlanıyorum

1 Cevap

Ben biraz daha iyi CPU kaynaklarını yönetmek için izin verebilir bir 3 seçenek olduğunu düşünüyorum. Nasıl periyodik özetlenmiştir veri tablolarını günceller ayrı bir süreç yazma konusunda? Aksine belki sadece değerlerini güncelleyebilirsiniz, bunu her zaman daha fazla satır olacak çünkü zamanla yavaş çalışmasına GARANTİLİ bir grup özeti, yeniden daha. Verilerin niteliğine bağlı olarak, imkansız olabilir, ama buna sabırsızlanıyorum o kadar önemli olduğunu ve yakın-gerçek zamanlı olmak varsa, o zaman şema oynamak ve izin süresini gelemez düşünüyorum Kaynak tabloları her satır okumak zorunda kalmadan güncellemek için süreç.

Örneğin, veri sadece login_data (sütunlar adınızı, login_timestamp, logout_timestamp) olduğunu söylüyorlar. Sizin özet (cols adı saymak) login_summary olabilir. Bir kez login_summary tablo kesecek ve seçin adınızı kullanarak eklemek, saymak her 15 dakika (*) kod tür. Ama sonra tüm tablo her zaman yeniden taramak gerekiyor. Hızlandırmak için, bir last_update sütun var özet tabloyu değiştirebilir. Sonra her 15 dakika sadece o kullanıcı için last_update rekor daha yeni her kayıt için bir güncelleme yapmak istiyorum. Elbette daha fazla karmaşık, ancak bazı faydaları vardır: 1) Sadece değişti satırları güncelleştirmek, ve 2) sadece yeni satırları okuyun.

15 dakika kullanıcılar için çok eski olduğu ortaya çıktı Ve eğer, her 10 dakika çalıştırmak için ayarlamak olabilir. Bu tabii işlemci üzerinde bazı etkileri var, ama tüm özeti her 15 dakika tekrarlamak kadar olmaz.