Sıralama için SQL veritabanından veri önbelleğe alma

2 Cevap php

Ben bazı potansiyel büyük sorguları yapmak bir MySQL veritabanı var. Ben sorgudan elde edilen veriler daha sonra görmek için kullanıcı için bir HTML tablosu oluşturur PHP 2B dizi saklanır. Şu anda kullanıcı için çeşitli şekillerde verileri sıralamak için bir yol uygulamak çalışıyorum. Tabii ki sadece tekrar sorgu çağırmak ve farklı bir şekilde sıralamak için bunu söylemek, ama bu muhtemelen çok verimli bir şekilde olmaz anlayamadı. Benim fikrim bir şekilde verileri önbelleğe ve sonra veri sonuç almak için yeni bir yol sıralanması gerektiğini her zaman bir javascript çağırmaktır. Ne yazık ki bunu yapmak için nasıl bilmiyorum ... :)

So, my questions are:
- Is it a good idea to do it that way?
- How could I implement this feature?

2 Cevap

Eğer dışarı bile sunucu aramaları yapma ile istemci tarafında tabloları sıralamak için kullanabileceğiniz mevcut bazı javascript kütüphaneleri vardır. Onun kendi javascript kullanarak istemci tarafında sıralamak için yeterince kolay. Here referans için biridir

Bu ölçek ne kadar büyük bekliyorsunuz? Ne kadar veri bir anda HTML tablosunda görüntülenir? Eğer tablodaki satır sayısı, sayfaların bir avuç daha paginate zorunda noktasına ulaşmak için bekliyoruz eğer almak zorunda kalmazsınız, bu veritabanından verileri yeniden arayarak türlü uygulamak için daha verimli olur tüm veri kümesi.

Bir anda 10,000 sizin kümesi içinde satır, ama ekranda sadece 30 varsa, depolama ve istemci tarafında bu satırları sıralama havai buna değer değildir.

Eğer biliyorsanız kez getiriliyor ve istemci tarafında bunu manipüle sonra, "sayfalar" (diyelim, sayfa başına 5 * sayısından daha az kayıtları) bir avuç daha neverhave olacak büyük bir olay değil.

Eğer iş yükü% 95 küçük ve% 5 kitlesel büyük olacağını biliyorum, o bir melez sırayla olabilir: 150 her zaman kayıtları, diyelim ki, getir, ve en az 150 varsa, tüm bunları var ve güvenli olduğunu istemci tarafında kalmak. Bundan daha fazla ise, o ağır büyük olabilir varsayalım ve parçalar halinde veri getirebilir. Veri kümesi boyutlarda daha kademeli eğim varsa, her zaman önbellek parçaları olabildiğince ve yavaş yavaş sürece sıralama sırası değişmez olarak veri kümesini oluşturmak.