saklı yordam mysql

0 Cevap php

Ben o en verimli şekilde yapıyorum emin değilim veritabanı çağrı var. Temelde çağrı zip kodları ile olayların bir tablosunu sorgular ve sonra enlem / boylam olaylar zip Bunun veren bir posta kodu veritabanı katıldı. Sonra katıldı sorguya kullanıcı oturum açmış ve bu kullanıcı Yani bütün sorgu kullanıcılar enlem / boylam arasında çok kilometre mesafedeki olayları çeker bir enlem / boylam içeri giriş üzerine bir sahiptir.

, Sayfa yüklendiğinde her zaman bu sorguyu çağıran sonra bunu yapmak için daha iyi bir yolu Sorum var? Bir saklı yordam hızlı olacaktır? Onlarla herhangi bir deneyimi yok. Ben MySQL kullanıyorum.

    $this->db->select('*');
$this->db->from('events');
$this->db->join('zipcodes', 'zipcodes.zipcode = courses.courseZip');
$this->db->join('eventTypes', 'eventTypes.eventTypeID = events.eventType');
$this->db->where('eventApproved', 1);
$this->db->select('(DEGREES(ACOS(SIN(RADIANS('.$this->user['userLat'].'))
     * SIN(RADIANS(latitude))
     + COS(RADIANS('.$this->user['userLat'].'))
     * COS(RADIANS(latitude))
     * COS(RADIANS('.$this->user['userLon'].' - longitude))))) * 69.09 AS distance');

$this->db->having('distance <', 100);

0 Cevap