0

habe die Probleme bei der Volltextsuche mit CodeIgniter. Hier habe ich eine Tabelle mit dynamischen Zeilen und Spalten, wenn ich das Eingabefeld einer Zeile mit dem Volltextindex sehr langsam durchsuche. Hier haben Sie bereits die folgenden Werte als DB-Engine als MYISAM und Tabellenspalte als FULLTEXT INDEX festgelegt. Ich möchte die Daten im Eingabefeld als sehr schnell. hier habe ich angeheftet was ich müde habe. Bitte überprüfe es und lass es mich wissen.Geschwindigkeit Volltextsuchindex mit Codeigniter funktioniert nicht so viel wie Geschwindigkeit

public function product_autocomplete() 
{ 
    $name_startsWith = $_POST['name_startsWith']; 
    $type = $_POST['type']; 
    $row_num = $_POST['row_num']; 
    $this->db->like('item_number', $name_startsWith); 
    $query = $this->db->select('item_id,item_number,name,tax_included,cost_price,categoryid,unit_price,supplier_id,quantity_received') 
    ->from('bgs_items') 
    ->where('MATCH (bgs_items.item_number) AGAINST ("'. $name_startsWith .'")', NULL, false) 
    ->limit(10) 
    ->get(); 
    $data = array(); 

    foreach ($query->result_array() as $row) 
    { 
    $name = $row['item_number']."-".$row['name'].'|'.$row['name'].'|'.$row['tax_included'].'|'.$row['cost_price'].'|'.$row['categoryid'].'|'.$row['unit_price'].'|'.$row['supplier_id'].'|'.$row['quantity_received'].'|'.$row['item_number'].'|'.$row['item_id'].'|'.$row['supplier_id'].'|'.$row_num; 
    array_push($data, $name); 
    } 
    echo json_encode($data); 
} 
+0

, warum Sie mit 'like' und' against' beide in derselben Abfrage? –

+0

Ja, welche Abfrage möchte ich zum Abrufen von Daten aus db – user3839366

Antwort

0

Bitte versuchen Sie unter Abfrage mit

public function product_autocomplete() 
    { 
     $name_startsWith = $_POST['name_startsWith']; 
     $type = $_POST['type']; 
     $row_num = $_POST['row_num']; 
     $query = $this->db->select('item_id,item_number,name,tax_included,cost_price,categoryid,unit_price,supplier_id,quantity_received') 
     ->from('bgs_items') 
     ->where('MATCH (bgs_items.item_number) AGAINST ("'. $name_startsWith .'")', NULL, false) 
     ->limit(10) 
     ->get(); 
     $data = array(); 

     foreach ($query->result_array() as $row) 
     { 
     $name = $row['item_number']."-".$row['name'].'|'.$row['name'].'|'.$row['tax_included'].'|'.$row['cost_price'].'|'.$row['categoryid'].'|'.$row['unit_price'].'|'.$row['supplier_id'].'|'.$row['quantity_received'].'|'.$row['item_number'].'|'.$row['item_id'].'|'.$row['supplier_id'].'|'.$row_num; 
     array_push($data, $name); 
     } 
     echo json_encode($data); 
    } 
+0

bereits versucht, dass – user3839366

Verwandte Themen