Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Запрос из таблицы INFORMATION_SCHEMA
Среднее время выполнения скрипта 0.85 сек. Если убрать кусок кода c LABLE_1 до LABLE_2, то скрипт выполняется за 0,0025 сек.
В mysql.exe запрос $query занимает 0.09 сек. Возвращает он порядка 100 строк. Вроде не должно так долго работать, но я чёт даже не знаю куда копать. Подскажите пожалуйста.
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
Ап. Может кто-нибудь хотя бы даст пинок в верном направлении?
LIME
Отправлено: 06 Марта, 2012 - 00:38:08
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
хз...могу только построить глупое предположение что вы сначала mysql_select_db(DB_NAME)
тоесть mydb
а потом FROM information_schema.columns что является другой базой и таблицей
в тонкостях мучкула не селен но думаю требуется время на выяснения чего вы хотите
Dezmont
Отправлено: 06 Марта, 2012 - 07:46:12
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
LIME, это не подходит. Убирал, пробовал, но ничего не меняется. MySQL вроде нормально понимает, когда при использовании оной БД обращаются к другой.
Закомментировал код от LABLE_2 до LABLE_3. При единичном вызове функции draw_table() времы выполнения около 0,09сек. Но при вызове 2 и более раз, сразу увеличивается до 0,85. Причём два вызова 0,85. 10 вызовов тоже 0,85. Может чть-чуть больше...=/
Я так думаю, что дело в самом PHP. В mysql.exe запросы выполняются с нормальной скоростью.
Есть ещё предположения?
EuGen
Отправлено: 06 Марта, 2012 - 08:22:34
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Стало быть, сама выборка идет по таблице без ключей вообще, при многократном ее повторении Вы можете расчитывать лишь на кеш БД, что и происходит в Вашем случае.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Dezmont
Отправлено: 06 Марта, 2012 - 09:37:15
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
EuGen, в mysql.exe показывает время выборки 0.06. Время выполнения куска LABLE_1 - LABLE_2 составляет 0.09 сек. Части LABLE_2 - LABLE_3 составляет 0.0025 сек. Так почему, даже при однократном вызове всей функции время выполнения становится равным 0,8 сек? Я проверял многократные SELECT запросы из разных таблиц, которые созданы мной, в них нормально. Адекватное время выполнения скрипта. А тут так сильно увеличивается.
Причём, если я меняю местами куски LABLE_1-LABLE_2 c LABLE_2_LABLE_3, то скрипт выполняется 0.09 сек.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.