I have 600.000 data and I strain the values. I strain some values in my database. I have 10 criterion about strain data. So , When i strain the 600.000 Data from 10 criterion my mysql server is very slow.How can I make it fast ? This is my source code about strain.
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
ini_set('memory_limit', '256M');
function Check($Value,$DataBase)
{
$QueryString = "SELECT UserID FROM users where ".$Value;
$query = $DataBase->query($QueryString, PDO::FETCH_ASSOC);
//echo $Sorgu;
if ($query->rowCount()) {
foreach ($query as $row) {
return true;
}
}
return false;
}
$Array = $_POST["Data"];
$Array = json_decode($Array, true);
$Keys = ' ';
$Values = ' ';
$GSM1 = array();
$GSM2 = array();
$Phone1 = array();
$Phone2 = array();
$Fax1 = array();
$Fax2= array();
$UserCode = array();
$Identitiy = array();
$Empty = array();
$EmptyCheck = true;
foreach ($Array as $Row) {
$EmptyCheck = true;
$Keys = ' ';
$Values = ' ';
foreach ($Row as $key => $val) {
if ($key == 'UserGsm1') {
if ($val != null AND is_numeric($val) AND Check('UserGsm1=' . $val,$db)) {
$EmptyCheck = false;
$Gsm1[] = $Row;
break;
}
} else if ($key == 'UserGsm2') {
if ($val != null AND is_numeric($val) AND Check('UserGsm2=' . $val,$db)) {
$EmptyCheck = false;
$Gsm2[] = $Row;
break;
}
} else if ($key == 'UserPhone1') {
if ($val != null AND is_numeric($val) AND Check('UserPhone1=' . $val,$db)) {
$EmptyCheck = false;
$Phone1[] = $Row;
break;
}
} else if ($key == 'UserPhone2') {
if ($val != null AND is_numeric($val) AND Check('UserPhone2=' . $val,$db)) {
$EmptyCheck = false;
$Phone2[] = $Row;
break;
}
} else if ($key == 'UserFax1') {
if ($val != null AND is_numeric($val) AND Check('UserFax1=' . $val,$db)) {
$EmptyCheck = false;
$Fax1[] = $Row;
break;
}
} else if ($key == 'UserFax2') {
if ($val != null AND is_numeric($val) AND Check('UserFax2=' . $val,$db)) {
$EmptyCheck = false;
$Fax2[] = $Row;
break;
}
} else if ($key == 'UserCode') {
if ($val != null AND is_numeric($val) AND Check('UserCode=' . $val,$db)) {
$EmptyCheck = false;
$UserCode[] = $Row;
break;
}
} else if ($key == 'UserIdentitiy') {
if ($val != null AND is_numeric($val) AND Check('UserIdentitiy=' . $val,$db)) {
$EmptyCheck = false;
$Identitiy[] = $Row;
break;
}
}
$Keys = $Keys . ',' . $key;
$Values = $Values . ',' . $val;
//echo $key.' : '.$val;
//echo '<br>';
}
if ($EmptyCheck == true) {
$Empty[] = $Row;
}
}