powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) SESSION БД или ARRAY ?
10 сообщений из 10, страница 1 из 1
(PHP) SESSION БД или ARRAY ?
    #33600217
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на на каждой страцице сайта используется меню или подменю.
меню состоит из 15 позиций
и некторые позиции имеют подменю.всего 50 пунктов меню и подменю.
пример меню
животные
рыбы
птицы
.....
если выбран пункт меню "птицы"
вместо менбю на странице появляется подменю
попугаи
вороны
воробьи
...

вопрос

сейчас я храню значения в базе данных - table menu
(id_menu, Name_menu, id_parent_menu ) , если id_parent_menu ==0 , то это главное меню

но я вижу здесь недостаток в том что при каждом открытии страницы
делать запрос к базе данных (select Name_menu where id_parent_menu = $ch)

как альтарнативы я вижу

1. создание сессионной переименной $_SESSION['menu'']

2. или просто добавлять Array_menu при помощи include ('Array_menu.inc.php')

какое из этих 3 решений лучше и почему ?
как создать сессионной переименной единую для всех пользователей ?
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33600263
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет ничего страшного и неестественного в необходимости использования столь простого запроса к базе для каждой страницы. Индексы-то в базе, надеюсь, есть нужные? Хранение подобной информации в сессии же, наоборот, довольно неуклюже и даже нелепо. Если вы настолько беспокоитесь о производительности, существуют более прямолинейные методы: кэширование или генерация статических страниц.
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33600294
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl Хранение подобной информации в сессии же, наоборот, довольно неуклюже и даже нелепо.

а если хранить все значения меню просто в массиве ?

Код: plaintext
1.
2.
3.
4.
5.
array_menu [ 0 ][ 1 ] = 'птицы';
array_menu [ 1 ][ 2 ] = 'попугаи'; 
array_menu [ 1 ][ 3 ] = 'вороны'; 
array_menu [ 0 ][ 4 ] = 'рыбы';
array_menu [ 4 ][ 5 ] = 'карпы';
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33600306
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведите аргументы за такое решение против извлечения этой информации из базы?
Единственный, который я вижу: если больше ни для чего база не используется, можно пользоваться более дешёвым хостингом. Но я не думаю, что в такой ситуации вопрос бы вообще стоял.)
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33600331
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlПриведите аргументы за такое решение против извлечения этой информации из базы?
Единственный, который я вижу: если больше ни для чего база не используется, можно пользоваться более дешёвым хостингом. Но я не думаю, что в такой ситуации вопрос бы вообще стоял.)

к примеру при побавлении информации пользователем
(он выбирает сперва категорию (меню) затем если есть подкатегорию (подменю))
и затем заполнет информацию.

для того что отобразить

меню, имя выбранной категории и имя выбраной подкатегории
нужно уже 3 запроса в базе данных
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33600429
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кошмар. Нет, просто ужас, целых три элементарных запроса выборки по индексу для одной страницы!
Не подскажете, для чего вообще используют СУБД? Может, проще разместить всё в многомерном массиве и радоваться возросшей производительности?
Я, конечно, ёрничаю, но какого ответа вы ожидали?
Ваша проблема надумана, для меню, конечно, можно использовать и массив в файле, и информацию в базе, различие в производительности будет ничтожно, гораздо больший вклад в снижение производительности внесло бы, скажем, хранение изображений в базе.
В целом же, я по-прежнему не вижу каких-либо преимуществ хранения подобной информации в файле. При использовании БД, на вносимую, изменяемую и удаляемую из неё информацию можно наложить ограничения, обеспечивающие ссылочную целостность базы. Причём при грамотном проектировании структуры базы, там всё равно будет содержаться вся информация, необходимая для построения меню, а значит, содержимое файла будет её дублировать, что не есть хорошо хоть с философской точки зрения (бритва Оккама), хоть с точки зрения практических рекомендаций по структуре хранения данных, хоть с точки зрения банального здравого смысла: двойная работа.
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33600930
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@DocAl спасибо за ответы
а другие мнения есть еще ?
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33601102
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хранить там где удобно... про производительность думать когда ее не хватать
будет, а пока не забивать мозги и делать дело..


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33601842
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuriyB@DocAl спасибо за ответы
а другие мнения есть еще ?
Ну еще можно добавить, что БД кеширует запросы, соот-но он к Вашей сверхбольшой таблице даже не будет обращаться, все выдаст из ОП.
Думаю этого должно быть достаточно)
...
Рейтинг: 0 / 0
(PHP) SESSION БД или ARRAY ?
    #33602539
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
файловая система тоже пекрасно все кэширует..


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) SESSION БД или ARRAY ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]