У меня есть веб-приложение, построенное на основе кода воспламенителя в верхней части nginx, fastcgi и mysqlКак оптимизировать этот запрос mysql? на nginx и fastcgi
У меня есть таблица выплат. таблица структура here.
в этой таблице, названия стран, perminutecost и хранятся и почти 56,373 записей на нем.
на главной странице есть форма, которая просит пользователя ввести свой номер мобильного телефона, чтобы получить perminute cost.Btw я использую функцию автозаполнения в качестве пользовательских типов в
вот мой бэкенд код:
$ ул имеет пользовательский ввод (номер мобильного телефона)
$ в отставке = истина; $ count = 3;
while($ret){
$sub = substr($str,0,$count); //9053
$ret = R::getAll("SELECT Destination,PerMinuteCost FROM `payout` WHERE `Prefix` REGEXP '^$sub(.)*$' LIMIT 0 , 30");
$count++;
}
$sub = substr($str,0,$count-2);
$ret = R::getAll("SELECT Destination,PerMinuteCost FROM `payout` WHERE `Prefix` REGEXP '^$sub(.)*$' LIMIT 0 , 30");
return $ret[0];
этот код позволяет мне получить perminutecost от номера мобильного телефона. (Таблица имеет только префиксы не все номера сотового телефона)
я сделал некоторые изменения на Nginx и FastCGI расширить границы времени ожидания
, но когда слишком много людей используют службу в то же время, туздО использование процессора получает более 100%,
, как я мог бы улучшить этот алгоритм?
спасибо.
ли REGEX для автозаполнения? Потому что я немедленно удалю это. – Woot4Moo
:) Это мой быстрый код. Теперь я ищу оптимизацию. –
Не могли бы вы опубликовать образец того, что пользователь вводит? Вы предлагаете, чтобы они набрали «0», затем «01», затем «012»? – tristanbailey