首页 > 解决方案 > AWS RDS MariaDB 在检索数据时超时

问题描述

这是我第一次处理数据库和查询。

我们使用 AWS RDS MariaDB 10.3.23。实例类型为 db.t2.medium。

对于前端,我们使用 ec2。它是 php + jquery。

我试图从网页中获取数据。它有 14 列和 6000 行。但我有一个超时。

我怎么能解决这个问题。我将实例类型从小更改为中。

代码如下

function statisticsListing($searchText = '', $page, $segment,$map_idx ="",$st_date ='',$ed_date='')
    {
        $this->db->select('a.*,b.map_name AS karea1,c.map_name AS karea2,d.map_name AS karea3,e.email,e.full_name,f.type as type_name');
        $this->db->from('tbl_data as a') ->join('tbl_map_json AS b', 'a.area1 = b.map_idx', 'left')->join('tbl_map_json AS c', 'a.area2 = c.map_idx', 'left')->join('tbl_map_json AS d', 'a.area3 = d.map_idx', 'left')->join('tbl_user AS e', 'a.user_idx = e.idx')->join('tbl_type AS f', 'a.type_idx1 = f.idx');
        $this->db->where("date_format(a.created_date, '%Y-%m-%d') >=",$st_date);
        $this->db->where("date_format(a.created_date, '%Y-%m-%d') <=",$ed_date);
        if(!empty($searchText)) {
            $this->db->like('e.email',$searchText);
        }
        if(strlen($map_idx)==2) {
            $this->db->where('a.area1',$map_idx);
        }
        if(strlen($map_idx)==5) {
            $this->db->where('a.area2',$map_idx);
        }
        if(strlen($map_idx)==10) {
            $this->db->where('a.area3',$map_idx);
        }
        $this->db->order_by('a.created_date', 'DESC');
        // $this->db->group_by('a.idx');
       /* if($checkorder == 0){
            $this->db->order_by('a.created_date', 'DESC');
        }else{
             $this->db->order_by('a.created_date', 'ASC');
        }*/
        $this->db->limit($page, $segment);
        $query = $this->db->get();

        
        $result = $query->result();  
        
        /*                $str = $this->db->last_query();
        echo $str;
        exit;*/
        return $result;

    }

标签: amazon-web-servicesmariadb

解决方案


推荐阅读