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 поддерживается работа с различными типами баз данных, что опять же стоит записать в колонку «+».


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна верстка со знанием php
1 Nemo 151 Сегодня, 14:04
автор: mmkulikov
Открытая тема (нет новых ответов) Ищу php-программиста, работа с Yii2
0 eduarddis 258 Вчера, 15:58
автор: eduarddis
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыПродвижение и оптимизация сайтов
51 moresofta 17109 14.5.2018, 17:32
автор: moresofta
Открытая тема (нет новых ответов) Настройка, оптимизация и введение Google AdWords и Яндекс.Директ
mkcontext.com
11 mkcontext 2446 9.5.2018, 12:13
автор: Palundra
Горячая тема (нет новых ответов) Оптимизация сайтов, продвижение, наращивание ссылок
Большой опыт работы, отзывы
191 tario777 66606 7.5.2018, 14:43
автор: tario777


 



RSS Текстовая версия Сейчас: 20.5.2018, 16:30
Дизайн