SELECT COUNT(*) as KarakterSayi
FROM player.player
LEFT JOIN player.player_index
ON player_index.id=player.account_id
LEFT JOIN player.guild_member
ON guild_member.pid=player.id
LEFT JOIN player.guild
ON guild.id=guild_member.guild_id
INNER JOIN account.account
ON account.id=player.account_id
WHERE player.name NOT LIKE '[%]%' AND account.status!='BLOCK'
ORDER BY player.level DESC, player.exp DESC
Yukaridaki sorgu ile veritabanındaki karakterlerin toplam sayısını alıyorum ve kaç sayfaya ayırıcağımı hesapliyorum
Veritabanındaki toplam kullanıcı sayısı: 286281
SELECT player.id,player.name,player.level,player.exp,player_index.empire,guild.name AS guild_name
FROM player.player
LEFT JOIN player.player_index
ON player_index.id=player.account_id
LEFT JOIN player.guild_member
ON guild_member.pid=player.id
LEFT JOIN player.guild
ON guild.id=guild_member.guild_id
INNER JOIN account.account
ON account.id=player.account_id
WHERE player.name NOT LIKE '[%]%' AND account.status!='BLOCK'
ORDER BY player.level DESC, player.exp DESC
LIMIT
Bu sorgu ilede kullanıcı bilgilerini çekip sayfaya yazdırıyorum
Herşey çok güzel çalışıyor ancak sorguların olduğu sayfa 8-10 saniye gibi bir sürede açılıyor. bunun dışında sunucudaki mysqle aşırı bir yük bindiriyor
Buna nasıl bir çözüm üretebilirim file cache makalelerini felan okudum ancak bir çözüm bulamadım
başka bir fikir verebilicek varmı 3 saattir işin içinden çıkamıyorum
Yardımcı olucak arkadaşlara teşekkürler