|
|
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
на на каждой страцице сайта используется меню или подменю. меню состоит из 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 решений лучше и почему ? как создать сессионной переименной единую для всех пользователей ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 17:19 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
Нет ничего страшного и неестественного в необходимости использования столь простого запроса к базе для каждой страницы. Индексы-то в базе, надеюсь, есть нужные? Хранение подобной информации в сессии же, наоборот, довольно неуклюже и даже нелепо. Если вы настолько беспокоитесь о производительности, существуют более прямолинейные методы: кэширование или генерация статических страниц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 17:29 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
DocAl Хранение подобной информации в сессии же, наоборот, довольно неуклюже и даже нелепо. а если хранить все значения меню просто в массиве ? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 17:38 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
Приведите аргументы за такое решение против извлечения этой информации из базы? Единственный, который я вижу: если больше ни для чего база не используется, можно пользоваться более дешёвым хостингом. Но я не думаю, что в такой ситуации вопрос бы вообще стоял.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 17:41 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
DocAlПриведите аргументы за такое решение против извлечения этой информации из базы? Единственный, который я вижу: если больше ни для чего база не используется, можно пользоваться более дешёвым хостингом. Но я не думаю, что в такой ситуации вопрос бы вообще стоял.) к примеру при побавлении информации пользователем (он выбирает сперва категорию (меню) затем если есть подкатегорию (подменю)) и затем заполнет информацию. для того что отобразить меню, имя выбранной категории и имя выбраной подкатегории нужно уже 3 запроса в базе данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 17:47 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
Кошмар. Нет, просто ужас, целых три элементарных запроса выборки по индексу для одной страницы! Не подскажете, для чего вообще используют СУБД? Может, проще разместить всё в многомерном массиве и радоваться возросшей производительности? Я, конечно, ёрничаю, но какого ответа вы ожидали? Ваша проблема надумана, для меню, конечно, можно использовать и массив в файле, и информацию в базе, различие в производительности будет ничтожно, гораздо больший вклад в снижение производительности внесло бы, скажем, хранение изображений в базе. В целом же, я по-прежнему не вижу каких-либо преимуществ хранения подобной информации в файле. При использовании БД, на вносимую, изменяемую и удаляемую из неё информацию можно наложить ограничения, обеспечивающие ссылочную целостность базы. Причём при грамотном проектировании структуры базы, там всё равно будет содержаться вся информация, необходимая для построения меню, а значит, содержимое файла будет её дублировать, что не есть хорошо хоть с философской точки зрения (бритва Оккама), хоть с точки зрения практических рекомендаций по структуре хранения данных, хоть с точки зрения банального здравого смысла: двойная работа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 18:14 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
@DocAl спасибо за ответы а другие мнения есть еще ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 00:08 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
хранить там где удобно... про производительность думать когда ее не хватать будет, а пока не забивать мозги и делать дело.. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 08:10 |
|
||
|
(PHP) SESSION БД или ARRAY ?
|
|||
|---|---|---|---|
|
#18+
YuriyB@DocAl спасибо за ответы а другие мнения есть еще ? Ну еще можно добавить, что БД кеширует запросы, соот-но он к Вашей сверхбольшой таблице даже не будет обращаться, все выдаст из ОП. Думаю этого должно быть достаточно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 12:09 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=431&tid=1476569]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 273ms |
| total: | 455ms |

| 0 / 0 |
