Php dizilerin VS MySql Temp tablolar VS İzlenme

0 Cevap php

Şu anda farklı tablolardan gelen bildirimleri çeker sayfası gibi bir facebook oluşturduk, yaklaşık 8 tablolar Diyelim ki. Her tablo farklı sütunları ile farklı bir yapıya sahiptir, yani akla gelen ilk şey içindekiler bir tablo gibi, küresel bir tablo var, ve her yeni hit ile yenilemek olacak olmasıdır. Ben ekler kaynak yoğun olduğunu biliyorum, ama ben statik bir tablo olduğundan, ben sadece yeni bir rekor belki her 100 ziyaretçi eklemek istiyorum, bu yüzden ben bu uzak alabilir "BELKİ" düşündüm umuyordum, ama yanılmışım. Ben web çekiç sadece üç insanlardan kilitlenmeleri başardı.

Her neyse, şimdi ben farklı bir yöntem kullanarak yeniden yapmak gerekiyor. Başlangıçta görüşlerini yapmak için gidiyordu, ama manzaralı bir sorunu var. Seçilen tablo bir kullanıcı kimliği içermesi gerekir. İşte php bir select deyimi bir örnek:

$get_events = "

    SELECT id, " . $userId . ", 'admin_events', 0, event_start_time
        FROM admin_events
        WHERE CURDATE() < event_start_time AND 
              NOT EXISTS(SELECT id
                         FROM admin_event_registrations
                         WHERE user_id = " . $userId . " AND admin_events.id = event_id) AND
              NOT EXISTS(SELECT id
                         FROM admin_event_declines
                         WHERE user_id = " . $userId . " AND admin_events.id = event_id) AND
              event_capacity > (SELECT COUNT(*) FROM admin_event_registrations WHERE event_id = admin_events.id)
           LIMIT 1

Messiness üzgünüm. Herhangi bir olay, gördüğünüz gibi, ben tablosundan seçilen bir sütun olarak sayfasından kullanıcı kimliğine dönmek gerekiyor. Ben bu yüzden izleme sorguları bu tür bir yeri daha var çünkü gidecek yolu olduğunu sanmıyorum manzaralı bunu nasıl çözemedim. Ben bir MSSQL arka plan geliyor, ve ben saklı yordamlar seviyorum, bu yüzden MySQL için saklı yordamlar varsa, bu mükemmel olurdu.

Sonraki Ben geçici tablolar hakkında düşünmeye başladım. Tablo bellekte olacak, tablo muhtemelen 150 satırları max olacak ve hiçbir kilitlenmeleri olacaktır. Bir geçici tablo üzerinde ekler yapmak çok pahalı hala? Ben sunucu çökmesini sona erecek? Şu anda günde belki 100 kullanıcımız var, ama biz daha fazla kullanıcıya olsun gelecekte olması için denemek istiyorum.

Uzun bir düşündükten sonra, ben tek yolu kullanıcı php ve bir dizi olarak tüm sonuçlar elde düşündüm. Sorun gibi bir şey olsun istiyorum ki:

$my_array[0]["date_created"] = <current_date>

Yukarıda sorun ben date_created göre sıralamak zorunda olduğunu, ancak bu çok boyutlu bir dizidir.

Her neyse, sizi hangi yaklaşım, bir veritabanından 150-200 MAX kayıtları çekmek için? Temp Tablo, Görünüm veya php?

0 Cevap