Increased (find|search)Address performance by using query instead of
view
This commit is contained in:
@@ -317,11 +317,11 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
if(!$p) continue;
|
||||
if(in_array($p,$search_parts)) continue;
|
||||
$search_parts[] = $p;
|
||||
$gem_search[] = "gemeinde like '$p%'";
|
||||
$ort_search[] = "ortschaft like '$p%'";
|
||||
$strasse_search[] = "strasse like '$p%'";
|
||||
$plz_search[] = "plz like '$p%'";
|
||||
$hausnummer_search[] = "hausnummer like '$p%'";
|
||||
$gem_search[] = "Gemeinde.name like '$p%'";
|
||||
$ort_search[] = "Ortschaft.name like '$p%'";
|
||||
$strasse_search[] = "Strasse.name like '$p%'";
|
||||
$plz_search[] = "Plz.plz like '$p%'";
|
||||
$hausnummer_search[] = "Hausnummer.hausnummer like '$p%'";
|
||||
}
|
||||
|
||||
$where = "1=1";
|
||||
@@ -329,7 +329,10 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
$where .= " AND netzgebiet_id IN (".implode(",", $this->filter_salescluster_ids).")";
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM view_wohneinheit WHERE $where AND ((".implode(" OR ", $ort_search).") OR (".implode(" OR ", $strasse_search).") OR (".implode(" OR ", $plz_search).") OR (".implode(" OR ", $hausnummer_search).")) ORDER BY strasse, LENGTH(hausnummer), hausnummer, LENGTH(tuer),tuer, zusatz, LENGTH(num), num";
|
||||
$sql = AddressDB::$wohneinheit_query;
|
||||
$sql .= "\n WHERE $where AND ((".implode(" OR ", $ort_search).") OR (".implode(" OR ", $strasse_search).") OR (".implode(" OR ", $plz_search).") OR (".implode(" OR ", $hausnummer_search).")) ORDER BY strasse, LENGTH(hausnummer), hausnummer, LENGTH(tuer),tuer, zusatz, LENGTH(num), num";
|
||||
|
||||
//$sql = "SELECT * FROM view_wohneinheit WHERE $where AND ((".implode(" OR ", $ort_search).") OR (".implode(" OR ", $strasse_search).") OR (".implode(" OR ", $plz_search).") OR (".implode(" OR ", $hausnummer_search).")) ORDER BY strasse, LENGTH(hausnummer), hausnummer, LENGTH(tuer),tuer, zusatz, LENGTH(num), num";
|
||||
$this->log->debug($sql);
|
||||
|
||||
$res = $this->db()->query($sql);
|
||||
@@ -548,7 +551,11 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
}
|
||||
//echo $where;
|
||||
//var_dump($this->filter_salescluster_ids);exit;
|
||||
$sql = "SELECT * FROM view_wohneinheit WHERE $where ORDER BY plz, gemeinde, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(num), num, LENGTH(tuer), tuer";
|
||||
|
||||
$sql = AddressDB::$wohneinheit_query;
|
||||
$sql .= " WHERE $where ORDER BY plz, gemeinde, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(num), num, LENGTH(tuer), tuer";
|
||||
|
||||
//$sql = "SELECT * FROM view_wohneinheit WHERE $where ORDER BY plz, gemeinde, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(num), num, LENGTH(tuer), tuer";
|
||||
$this->log->debug($sql);
|
||||
$res = $this->db()->query($sql);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user