[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SELECT MySQL
Гость_Роман
Здравствуйте.
Существует скрипт (тестирую его на денвере), который должен выполнить не которые функции 1000 раз.


$a = 0;
while($a++ < 1000){
SELECT первый запрос
DELETE второй запрос
SELECT третий запрос
SELECT четвертый запрос
SELECT пятый запрос
UPDATE шестой запрос
INSERT седьмой запрос
}
Что он делает это не важно главное то что он выполняется 20 секунд...
а если удалить третий или четвертый SELECT то выполняется 3 секунды...

Смысл в том что скрипт написан верно, индексы в базе выставлены, тестирую целый день не как не могу понять в чем проблема...

Может быть проблема из-за того что 3 селекта подряд идут? подскажите в чем может быть проблема?
Hello
Запрос показать нельзя?

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Гость_Роман

$u = mysql_query("SELECT `id` FROM `users` WHERE `name`='Admin' LIMIT 1");
$u2 = mysql_fetch_array($u);
$id = $u2['id'];
inpost
И индекс тут какой?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Гость_Роман
inpost конечно.
вот этот кусок кода

$u = mysql_query("SELECT `id` FROM `users` WHERE `name`='Admin' LIMIT 1");
$u2 = mysql_fetch_array($u);
$id = $u2['id'];

$u3 = mysql_query("SELECT `age` FROM `age` WHERE `name`='Admin' LIMIT 1");
$u4 = mysql_fetch_array($u3);
$age = $u4['age'];


индекс указан к `name` как в таблице users так и в age, но факт в том что скрипт 1000 раз выполняется 20 секунд целых с остальными запросами делет инсерт...
Если убрать какойта SELECT выполняться будет 3 секунды... при чем не важно SELECT таблицы users или age...
inpost
зачем 1000 раз выполняться одному запросу?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Гость_Роман
inpost
Тестирую сколько времени будет выполняться скрипт при 1000 неких запросах пользователей.
Этот скрипт будет выполнять cron.
inpost
Таблица, хоть, большая?
Добавь к запросам EXPLAIN в начале, как раз увидишь, точно ли индексы используются как надо.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
inpost
Кстати, у тебя myisam ? Если да, то поменяй на innodb, он лучше для выборки.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
twin
Цитата
Тестирую сколько времени будет выполняться скрипт при 1000 неких запросах пользователей.
Этот скрипт будет выполнять cron.

Скрипт по крону выполняет 1000 запросов? Может действительно стоит показать этот скрипт. Очень часто оптимизация на уровне php возможна и необходима.
inpost
Цитата
Кстати, у тебя myisam ? Если да, то поменяй на innodb, он лучше для выборки.

Не всегда. Большей частью innodb медленнее в разы.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.