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)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Оптимизация сайтов, продвижение, наращивание ссылок
Большой опыт работы, отзывы
210 tario777 71930 Вчера, 14:32
автор: tario777
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыПродвижение и оптимизация сайтов
62 moresofta 20776 12.10.2018, 13:27
автор: moresofta
Открытая тема (нет новых ответов) Настройка, оптимизация и введение Google AdWords и Яндекс.Директ
mkcontext.com
18 mkcontext 5189 5.10.2018, 14:51
автор: mkcontext
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНастройка, оптимизация и введение Яндекс.Директ, serezdirekt.ru
3 podvi 1284 5.10.2018, 8:27
автор: podvi
Открытая тема (нет новых ответов) Грамотная внутренняя SEO оптимизация, увеличение конверсии продаж
5 Black_Mag 1248 4.10.2018, 22:46
автор: rokot


 



RSS Текстовая версия Сейчас: 16.10.2018, 21:00
Дизайн