@Radka17

Как можно оптимизировать MySQL базу или скрипт?

Добрый день, имеется база данных mysql с большим количеством записей, в двух таблицах в общем 100 000 000 записей, имеется также Web сервер на базе связки Apache + NGINX, который выплевывает результат sql запросов. Интересует возможность уменьшить время обработки запросов. Записи примерно такого типа:

Date                    Eid             Gid             Number         Ecode      Status
2017-10-23 11:44:00	ULC_TEST_C220	ULC_TEST_C220	+77272314212	16	 	Y


Отрывок из самого php скрипта:

$codes=array("1","3","16","17","19","20","21","27","31","41","86","111");
                foreach($codes as $code)
                {
                switch ($code)
                        {
             case 1:
            $query_input = "SELECT COUNT(`eid`) from input where  eid='$name' and (gid like '$marker1' or gid like '$marker2')and number='$number' AND ecode='$code' AND  Date between '$datefrom' and '$dateto'";
            $SQLin=$dbConnect->query($query_input);
            $query_out = "SELECT COUNT(`eid`) from output where eid='$name' and (gid like '$marker1' or gid like '$marker2') and number='$number'  AND ecode='$code' AND Date between '$datefrom' and '$dateto' ";
            $SQLout=$dbConnect->query($query_out);

            while ($datain=mysqli_fetch_array($SQLin))
            {
            $countin1=$datain[0];
            }
            while ($dataout=mysqli_fetch_array($SQLout))
            {
            $countout1=$dataout[0];
            }
                break;
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ответы на вопрос 2
alex-1917
@alex-1917
Если ответ помог, отметь решением
мне like не нравятся))
$marker1, $marker2 - это что, пример дай?
поле по имени number - точно БД не ругается?

ну а в первом приближении я бы половину запроса отдал процессору, а не памяти)))
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
EXPLAIN и индексы вам в помощь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы