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
Форумы портала PHP.SU :: Версия для печати :: как снизить нагрузку
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » как снизить нагрузку

Страниц (1): [1]
 

1. WowanxXx5 - 26 Октября, 2009 - 12:56:00 - перейти к сообщению
возможно его как нибудь оптимизировать

вот запрос
1.
CODE (text):
скопировать код в буфер обмена
  1. $a = mysql_fetch_array(sql_query("SELECT id, username FROM users WHERE status='confirmed' ORDER BY id DESC LIMIT 1"));
2. Мелкий - 26 Октября, 2009 - 13:07:17 - перейти к сообщению
А вы хотите сказать, что такой код вообще работает?
1) sql_query -> mysql_query
2) "SELECT id, username FROM users WHERE status=\"confirmed\" ORDER BY id DESC LIMIT 1"
3. WowanxXx5 - 26 Октября, 2009 - 13:12:35 - перейти к сообщению
Спасибо


P.S. работает, а что не должен работать?
4. Мелкий - 26 Октября, 2009 - 13:20:21 - перейти к сообщению
Вообще-то не должен Улыбка
sql_query - такой функции в библиотеке php нету (ну это ладно, может пользовательская объявлена), без конкатенации строк кавычки совмещать тоже нельзя - а вот это странно, интерпретатор php не ругается...
5. Viper - 26 Октября, 2009 - 13:28:14 - перейти к сообщению
при малом кол-ве записей LIMIT не играет роли.

собстно не особо понятно что в этом запросе можно оптимизировать.
6. WowanxXx5 - 26 Октября, 2009 - 14:37:44 - перейти к сообщению
вот запрос
CODE (text):
скопировать код в буфер обмена
  1. SELECT * FROM orbital_blocks WHERE active = 1 ORDER BY weight ASC


а в коде его нету, даже таблицы orbital_blocks в базе нету, а запрос есть Не понял

как такое возможно?
7. Viper - 26 Октября, 2009 - 16:25:29 - перейти к сообщению
WowanxXx5 пишет:
как такое возможно?


явная ошибка. да и кстати никогда не указывайте *(только если это не COUNT для всех полей), а указывайте явное наименование полей. выборка быстрее и к тому же уязвимость меньше.
8. WowanxXx5 - 26 Октября, 2009 - 16:30:24 - перейти к сообщению
т.е. COUNT(*) равнозначно простой выборке всех полей?
9. Viper - 26 Октября, 2009 - 17:52:08 - перейти к сообщению
WowanxXx5 пишет:
т.е. COUNT(*) равнозначно простой выборке всех полей?

в принципе да.
10. WowanxXx5 - 28 Октября, 2009 - 17:45:59 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. sql_query("UPDATE sessions SET ".implode(", ", $updateset)." WHERE ".implode(" AND ", $where)) or sqlerr(__FILE__,__LINE__);


возможно оптимизировать данный запрос

вместо sql_query поставить mysql_query?

 

Powered by ExBB FM 1.0 RC1