[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Повторный запрос к БД
maximka787
Ребят, подскажите, если две разные функции создают один и тот же запрос к MYSQL во время вывода одной страницы, нужно ли передавать полученный массив из одной функции в другую, или запрос к MYSQL кешируется и повторный, аналогичный запрос берется из памяти?

_____________
..Работает - не трогай!
Invis1ble
кэшировать могут только какие-нибудь прослойки, сам php не кэширует

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

bestxp
ну как бы небольшой кеш есть и в mysql , как раз таки на запрос, если они не отличаются, то если память не изменят, то как раз таки выборка будет быстрее чем в первый раз

а так если 2 разные функции делают одно и тоже, то это уже повод подумать, о том, а верно ли написан код и правильная ли у него архитектура
Invis1ble
аффтар имел в виду кэш на уровне php

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

maximka787
Ок, понял. Спасибо.

_____________
..Работает - не трогай!
Valick
Цитата
аффтар имел в виду кэш на уровне php

с чего вы взяли?

_____________
Стимулятор ~yoomoney - 41001303250491
inpost
Результат в переменную и всё. Собственно переменная лежит в памяти, это и есть твой кеш) Проблема в другом, что ты не хочешь обращаться к этой переменной, а хочешь повторить запрос в Мускул. Тогда поговорим о кеше в мускуле. Дело в том, что если кешируются запросы и хватает памяти - запрос будет закеширован. После этого он выйдет из кеша, если какой-то другой запрос займет место в кеше и вытеснит первый (мало выделяемой памяти или нехватка для кеша). Вот, собственно, и всё. Пользуйся переменной)

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
maximka787
inpost
вот так я и думал.. здорово. у меня большой список категорий выводится через запрос к БД в массив одной функцией выводящей левое меню. Ниже, в других функциях мне необходимы данные этого массива и я просто делал запрос еще раз. Передать из одной функции в другую не сложно, я просто думал, что php не обратиться повторно к мусклу из-за того, что результат этот уже где-то будет сохранен. Но а раз пошла речь о вытеснении в памяти, однозначно лучше просто передать его в другую функцию переменной. Спасибо!

_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.