Arkadaşlar sitem 1,5 senedir normal çalışıyordu ama bir aydır sorunla uğraşıyorum.Sorunum şu ki scripti kurduktan bir iki gün sonra sql den siteye veri çekilemiyor.Sitemden mysqlden anasayfada gelen veriler görünmüyor.Fakat içerdeki aynı veri tabanını dışarı aktarıp,dışarı aktardıgımı hiçbir işlem yapmadan içeri aktarınca site açılıyor.Hostingime yardım bileti oluşturduktan sonra vritabanını incelediler ve Aşağıdaki mesajı gönderdiler
Yardımcı olabilecekler ulaşırsa çok sevinirim.Şimdiden teşekkürler.
Hstingden gelen cevap
A: Sitenizin çalıştırdığı SQL sorgulaması:
select t1.*, case t1.RentCurrency when 'USD' then (t1.RentPrice*1) when 'YTL' then (t1.RentPrice*0.66894106629206) when 'EUR' then (t1.RentPrice*1.4873235667938) when 'GBP' then (t1.RentPrice*1.6544919392602) end as ListPrice, t2.Name as estate_type, t3.Name as estate_status, t4.Name as estate_township, t6.Currency as estate_rent_currency, t7.Images as estate_images, t8.Name as estate_city from t_advert t1 inner join t_properties t2 on t2.PageType='EstateType' inner join t_properties t3 on t3.PageType='EstateStatus' inner join t_properties t4 on t4.PageType='TownShip' inner join t_exchange t6 on t6.Currency=t1.RentCurrency inner join t_advert_images t7 on t7.ParentID=t1.ID inner join t_properties t8 on t8.PageType='City' where t2.ItemID = t1.EstateType and t2.PageLang='English' and t3.ItemID = t1.EstateStatus and t3.PageLang='English' and t4.ID = t1.TownShipID and t6.Currency = t1.RentCurrency and t7.ParentID = t1.ID and t7.Seq = (select min(Seq) from t_advert_images where Visible='1' and ParentID=t1.ID group by Seq LIMIT 0,1) and t8.ID = t1.CityID and t1.Visible='1' and t1.DisplayAdvert='1' order by ListPrice limit 24,12;
verimsiz olarak tasarlanmış olduğu için veritabanındaki bilgi boyutu büyümesi sonucuna bağlı olarak sistem tarafından kabul edilmemektedir. (The SELECT would examine more than MAX_JOIN_SIZE rows). Sistem veritabanını ilk yüklediğinizde kesin önbelleklenmiş bilgilere göre bunu hesaplayabiliyor olmasına rağmen bir süre sonra bazı bilgileri yaklaşık olarak hesapladığı için sitenizin çalışmasında sonra sorun oluşuyor olabilir (bu MySQL ile ilgili bir durum, daha fazla bilgi için MySQL firmasından bilgi alabilirsiniz)
Sistemdeki sorgulamalarda join kullanımında inceleme yapılabilecek maksimum satır sayısı 65bindir ve bu miktar yeterli bir miktardır. Sistemde birçok smf forum, phpbb forum, wordpress, joomla gibi yazılımlar kullanan müşteriler mevcuttur ve herhangi bir sorun yaşamamaktadırlar. (bu yazılımların doğru olarak optimize edilmiş olmasından dolayı).
Sorununuzun çözümü için programcınız ile görüşerek sitenizde kullanılan SQL sorgulamalarını optimize etmenizi öneriyoruz.
Ek Bilgi:
Sitenizin yapısındaki hataların gösterimi ile ilgili eksiklikler nedeni ile SQL sunucusunun verdiği bilgi sayfanızda gösterilmemektedir. Normal şartlar altında mysql_query() komutu mysql_error() komutu ile kullanılarak bir hata durumu oluşmasında bilgi verilmesi sağlanır. Bu tip bir kodlama olmadığı için siteniz herhangi bir hata mesajı göstermeden boş bilgi göstermektedir.
http://php.net/manual/en/function.mysql-query.php
Doğru kodlama teknikleri kullanımı sorunların nedenlerinin tespitini kolaylaştırır.