Здравствуйте.
Есть таблица категорий. Эти самые категории используются с проекте в разных целях:
1. Вывод категорий и подкатегорий в качестве меню навигации
2. Вывод дерева категорий списка публикаций или публикации отдельно
3. и много много разных мелких назначений, необходимых для гибкой структуры сайта.
Для удобного использования и данных категорий, создал массив этих самых категорий, который позволяет в нужном месте получить данные категории и подкатегории, имея тот или иной параметр (ID категории, alt_name или ID родителя).
$sql_result = $db->query('SELECT * FROM w_blog_category ORDER BY position ASC');
while($categories = $db->get_row($sql_result)){
$cat_name_array[$categories['alt_name']] = $categories;
$cat_parent_array[$categories['parentid']] = $categories;
$cats_array[$categories['id']] = $categories;
}
$db->free();
Все это прекрасно работает, но ведь каждый раз обращаться в БД для построения такого рода массива - большая нагрузка на БД. Соответственно, массив можно сохранять в кэше и вызывать данные из файла, вместо БД.
Но из-за недостатка практических знаний в данной отрасли, возник вопрос: как будет работать эта схема и как она отразиться на производительности проекта, если категорий будет очень много? Одно дело, если категорий штук 100. А если их более тысячи? Например, реализация структуры областей/городов/поселков таким образом...
Сильно ли повлияет на производительность системы, если использовать такие массивы? Заранее благодарю за ответы.