X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Оптимизация кода php
Mike1111
Mike1111
Topic Starter сообщение 22.3.2012, 23:46; Ответить: Mike1111
Сообщение #1


Mix Fight M-1
*****

Группа: Active User
Сообщений: 722
Регистрация: 21.9.2009
Поблагодарили: 385 раз
Репутация:   73  


Приветствую!
Возник вопрос. Есть кусок кода
$computers = mysql_query("SELECT * FROM spisok_pk WHERE computer_status = 'nosell'");
while($q=mysql_fetch_array($computers))
{
Тут идет вывод инфы об отдельно взятом пк. Например:
echo "".$q['computer_model']."";
}


Собственно вопрос в чем: Этот код производит один запрос к базе, берет всю инфу с computer_status = nosell, заносит в массив и уже каждая прогонка цикла берет инфу с массива? Или каждый раз цикл снова обращается к базе?
В базе 10к записей, оптимизирован ли код?

Сообщение отредактировал Mike1111 - 22.3.2012, 23:47
2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
weee
weee
сообщение 23.3.2012, 0:56; Ответить: weee
Сообщение #2


Участник
***

Группа: User
Сообщений: 118
Регистрация: 16.3.2011
Поблагодарили: 20 раз
Репутация:   8  


Выборка помещается в переменную $computers, и уже каждая прогонка цикла берет инфу с массива
на счет оптимизации да и вообще, я бы использовал ПДО


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mike1111
Mike1111
Topic Starter сообщение 23.3.2012, 1:04; Ответить: Mike1111
Сообщение #3


Mix Fight M-1
*****

Группа: Active User
Сообщений: 722
Регистрация: 21.9.2009
Поблагодарили: 385 раз
Репутация:   73  


(weee @ 23.3.2012, 0:56) *
на счет оптимизации да и вообще, я бы использовал ПДО

Поясните, пожалуйста.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
weee
weee
сообщение 23.3.2012, 1:09; Ответить: weee
Сообщение #4


Участник
***

Группа: User
Сообщений: 118
Регистрация: 16.3.2011
Поблагодарили: 20 раз
Репутация:   8  


$db = new PDO("mysql:host=$hostname;dbname=mysql", $username, $password);
$query = $db->query("SELECT * FROM spisok_pk WHERE computer_status = 'nosell'");
        $array = $query->fetchAll();
        foreach ($array as $array) {
            echo array['computer_model'];
        }


Вот переписанный аналог вашего кода.
Про ПДО полно статей, например: http://scripts.by/primer-soedineniya-s-mys...-pdo-klass.html

Почему будет использовано именно PDO? – из-за отличных скоростных показателей, а так же использование PDO::prepare() предотвращает возможные SLQ-инъекции, через попытку вызова метода PDO::quote(). К тому же в PDO поддерживается работа с различными типами баз данных, что опять же стоит записать в колонку «+».


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВерстка/Натяжка/Оптимизация/Увеличение функционала шаблонов на WP
Разработка на профессиональном уровне
125 Gerga 40050 Вчера, 15:34
автор: websitedesign
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 652 13.12.2017, 21:01
автор: vlads
Горячая тема (нет новых ответов) SEO услуги: аудит, СЯ, оптимизация, микроразметка, продвижение
работа на портфолио за небольшой donate
94 Nell 60818 13.12.2017, 19:37
автор: Nell
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3413 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Комплексное продвижение + Внутренняя оптимизация сайтов + Контекстная реклама
4 Frolov_Studio 813 11.12.2017, 22:14
автор: lorenzo


 



RSS Текстовая версия Сейчас: 15.12.2017, 9:12
Дизайн