У меня есть таблица на 30500 записей. В ней находятся города, районы, и всякие населенные пункты. Все в одной таблице.
Я написал автогенратор мыла имени и Самое Долгое, по продолжитльности выполнения, 3 запроса из этой большой таблицы, Которые генерируют Область потом город из области и район из этой области.
Как ускорить обращение к бд? Идея возникла использоать union, но тут дело в том что я не вытягиваю три разных массива.
Как быть?
Потому что я в каждом отдельном методе рандомно выбирал область, город, район, а с использованием union SELECT, выдает большой массив в котором рандомно если и выбиру то получится или может получиться, Район, район, область. А хотелось бы четко Область, Город, Район.
В общем нужна подсказка а то генератор долго обращается к базе. именно по поводу каждого обращения и выборке из базы.
Вот пример похожего метода для города и района. В данном случае выбирается область.
public function AutoqualiOblast()
{
$territory=$this->territor;
$db = DB::getInstance();
$query = "SELECT ter_address,reg_id FROM t_koatuu_tree where reg_id = " . $territory
. " AND ter_type_id = 0 AND ter_pid <=> NULL";
$result = $db->query($query);
if (!$result) {
die($db->error);
}
$obl = [];
while ($row = $result->fetch_assoc()) {
$ter = htmlspecialchars($row['ter_address'], ENT_QUOTES, 'UTF-8');
$obl[] = $ter;
};
$oblast=$this->escape($this->clean($obl[mt_rand(0, count($obl) - 1)]));
return $oblast;
}
Вот то что я пытаюсь упростить
public function UnionSelect()
{
$territory=$this->territor;
$db = DB::getInstance();
$query = "
SELECT ter_name,ter_type_id,reg_id FROM t_koatuu_tree where reg_id = 63
AND ter_type_id = 0 AND ter_pid <=> NULL
union
SELECT ter_name,ter_type_id,reg_id FROM t_koatuu_tree where reg_id = 63 AND t_koatuu_tree.ter_type_id =1
union
SELECT ter_name,ter_type_id,reg_id FROM t_koatuu_tree where reg_id = 63 AND t_koatuu_tree.ter_type_id = 2";
$result = $db->query($query);
if (!$result) {
die($db->error);
}
$rayons = [];
while ($row = $result->fetch_all()) {
echo "<pre>";
var_dump( $row );
echo "</pre>";
};
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Подскажите как прописать ссылку в htaccessне переключается постраничный вывод из файла , в браузере выводится ссылка, а на странице не переключается
Начинаю, изучать php и хочу сделать логирование ошибокПытаюсь разобрать функцию debug_backtrace(), и не могу понять из-за чего он не хочет брать [0] массив...
Мне понадобилось найти функцию, которая отображает подсказки в TextBox в виде списка подходящих строк (те
Реально ли в консольном приложении C/C++ отловить нажатие кнопки minimize (свернуть)? Спасибо