Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 21.06.2014
Сообщений: 7

Влияет ли количество таблиц в базе данных на производительность?

21.06.2014, 16:13. Показов 2749. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, форумчане.

На данный момент я занимаюсь проектированием приложения на подобие социальной сети. Писать буду на PHP с использованием СУБД MySQL, если это кому-то важно.

Так как предполагается большое количество сообщений, разумно было бы не толкать все сообщения в одну таблицу, а разделить их так, чтобы для сообщений каждого пользователя создавалась отдельная таблица. Но меня беспокоит один вопрос: если эти таблицы будут храниться в одной базе данных вместе с другими таблицами приложения, то будет ли это как-то влиять на производительностью базы данных? Если будет влиять достаточно сильно, то рациональнее ли использовать для хранение этих таблиц другую базу данных?

Прошу ответить опытных и разбирающихся в данном вопросе программистов. По возможности, дать конструктивные советы. Заранее благодарен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2014, 16:13
Ответы с готовыми решениями:

Планирование БД: влияет ли количество столбцов в таблице на производительность?
влияет ли количество столбцов в таблице на производительность. как будет эффективнее создать два поля time, count_time и извлекать...

Влияет ли количество папок и файлов в одном каталоге на производительность?
Добрый день. 1) Есть ли разница, в системе NTFS, если скажем в каталог2 лежит 100000 файлов и папок C:\каталог1\каталог2\ и если...

Правда ли, что количество памяти на производительность компьютера не влияет абсолютно?
То есть никакими тестами нельзя найти разницу между 1 и 16 гб памяти скажем. Все АБСОЛЮТНО программы будут работать одинаково и на 1 и на...

2
10 / 10 / 5
Регистрация: 31.01.2012
Сообщений: 98
22.06.2014, 07:25
Цитата Сообщение от Veroni Посмотреть сообщение
разумно было бы не толкать все сообщения в одну таблицу, а разделить их так, чтобы для сообщений каждого пользователя создавалась отдельная таблица
Объясните пожалуйста, почему это разумно?

Добавлено через 13 минут
Цитата Сообщение от Veroni Посмотреть сообщение
если эти таблицы будут храниться в одной базе данных вместе с другими таблицами приложения, то будет ли это как-то влиять на производительностью базы данных?
Да, будет. Для каждой таблицы создаются файлы. Логичнее хранить все в одной таблице. А для того, чтобы выборка из огромных таблиц работала быстро — придумали индексы.
1
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
23.06.2014, 10:07
Цитата Сообщение от Veroni Посмотреть сообщение
разумно было бы не толкать все сообщения в одну таблицу
Неразумно.
Во-первых, пользователей м.б. очень много, соответственно, и таблиц будет много.
Во-вторых, при появлении нового пользователя придется создавать таблицы "на лету", что обычно является дурным тоном.
В-третьих, невозможно, не зная имени таблиц, заранее написать запросы к ним. Т.е. придется формировать запросы динамически (и то, если имя новой таблицы формируется по строгим правилам), а это снижает производительность работы СУБД.
Если есть опасность, что работа с большой таблицей, даже при наличии индексов, будет сильно тормозить, то желательно применять другие средства.
Например, в некоторых СУБД есть разбивка одной таблицы на куски (в Oracle это называется секционирование - partitioning). Есть ли что-то подобное в MySQL - не помню, лучше спросить на соответствующем форуме.
Если наиболее часто читаются сообщения за определенный срок (скажем, за последний месяц), то можно организовать перенос более старых сообщений в архивные таблицы (помесячные или годовые).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.06.2014, 10:07
Помогаю со студенческими работами здесь

Как узнать количество таблиц в базе данных?
Есть база данных в файле Access с расширением *.mdb. Какой нужен запрос и как его правильно отправить? Допустим, знаю запрос (тема),...

Влияет ли большое (100 шт.) количество инструкций if в функции на производительность и если да, то как?
Кароче есть такой вопрос, конечно глупый, как количество if вообще влияет на производительность, в функции 100 ифов, когда в иф заходят он...

Нахождение в базе данных пагубно влияет на мой код
У меня вот такой код <?php $dir = "photos/activities/almet/"; $files = scandir($dir); foreach($files as $key =>...

Влияет ли на производительность
Влияет ли на производительность определение(тоесть реализация) функций внутри класса, а также использование вложенных классов?

Влияет мой жесткий на производительность
Обновил железо,а именно всё кроме своего старенького жесткого диска. Вот хочу задать вопрос для чайников. У меня стоит такой древний...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru