Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что лучше, несколько мелких таблиц или 1 крупная 
:(
    Опции темы
freelanderz
Дата 23.12.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2009

Репутация: нет
Всего: нет



Здравствуйте уважаемые пользователи форума! Помогите советом. Проектирую базу данных на MySQL, задался простым, но очень важным вопросом - что лучше, одна большая таблица или много маленьких? (с точки зрения дальнейшей обработки и пр.). Допустим есть данные их можно поместить в 1 таблицу 100 000 записей или в 100 по 1000 или в 10 по 10000. Будет стандартная работа с базой: добавление, удаление, несложный поиск в ней.
И еще, скажите пожалуйста сколько записей в таблице в MySQL максимально допустимо?
Спасибо большое, жду ответов от знающих людей.
PM MAIL   Вверх
Данкинг
Дата 23.12.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Смотря для чего и какую инфу хранить.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ТоляМБА
Дата 23.12.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 5
Всего: 252



freelanderz, прочитайте Нормализацию баз данных.
PM   Вверх
freelanderz
Дата 23.12.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2009

Репутация: нет
Всего: нет



Смысл в том что есть однотипные записи их можно хранить в одной таблице или в нескольких, потому что логически записи будут большими группами. есть ли смысл эти записи делить на таблицы по этим группам, простой пример есть записи допустим по городам, стоит ли делать для каждого города отдельную таблицу если для каждого такого города будет по 10 000 записей. То есть для 10 городов 100 000записай, но вобще городов может быть больше 10 например 40 или 50. Более всего важна именно выборка из таблиц, поиск второстепенная задача и не особо важен Или все записи в том числе из разных городов слоить в одну кучу, или раскидать по отдельным таблицам.
PM MAIL   Вверх
LSD
Дата 23.12.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 24
Всего: 538



А если добавится новый город? Создавать новую таблицу? И вообще, был уже озвучен дельный совет почитать про нормализацию.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
freelanderz
Дата 23.12.2009, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2009

Репутация: нет
Всего: нет



хотел еще добавить, что про нормализацию речи не идет, меня интересует вопрос именно с физической точки зрения - скорость выборки главное.
PM MAIL   Вверх
Zloxa
Дата 23.12.2009, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(freelanderz @  23.12.2009,  16:06 Найти цитируемый пост)
про нормализацию речи не идет,

а как на счет секционирования?
Цитата(freelanderz @  23.12.2009,  16:06 Найти цитируемый пост)
скорость выборки главное. 

на скорость выборки можно влиять железом


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
freelanderz
Дата 23.12.2009, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2009

Репутация: нет
Всего: нет



Цитата(Zloxa @ 23.12.2009,  16:12)
Цитата(freelanderz @  23.12.2009,  16:06 Найти цитируемый пост)
скорость выборки главное. 

на скорость выборки можно влиять железом

железом можно повлиять на все, сейчас интересует ответ по сабжу
PM MAIL   Вверх
Zloxa
Дата 23.12.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(freelanderz @  23.12.2009,  16:21 Найти цитируемый пост)
твет по сабжу 

Железо это ответ по сабжу.
Если ктото даст более конкретный ответ - не верьте ему.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
freelanderz
Дата 23.12.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2009

Репутация: нет
Всего: нет



Цитата(Zloxa @ 23.12.2009,  16:12)
Цитата(freelanderz @  23.12.2009,  16:06 Найти цитируемый пост)
про нормализацию речи не идет,

а как на счет секционирования?

к сожалению, моих знаний новичка не хватает осилить секционирование, можете пожалуйста пояснить понятным языком что это. спасибо!

Добавлено через 2 минуты и 5 секунд
Цитата(Zloxa @ 23.12.2009,  16:24)
Цитата(freelanderz @  23.12.2009,  16:21 Найти цитируемый пост)
твет по сабжу 

Железо это ответ по сабжу.
Если ктото даст более конкретный ответ - не верьте ему.

железо - это решающий фактор на скорость, но вопрос совершенно в другом - допустим на одном и том же "железе" как лучше реализовать, то что указано в топике. Спасибо
PM MAIL   Вверх
Zloxa
Дата 23.12.2009, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(freelanderz @  23.12.2009,  16:24 Найти цитируемый пост)
 пояснить понятным языком что это. спа

Partitioning


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Данкинг
Дата 23.12.2009, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(freelanderz @  23.12.2009,  15:58 Найти цитируемый пост)
простой пример есть записи допустим по городам, 

Что значит записи по городам? Инфа о городах? Ну так в одной таблице и храни с полями "название - численность населения - площадь....". Или же, в зависимости от ситуации, можно сделать две таблицы: в одной - список городов (с ID каждой записи), в другой - информация по ним.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
LSD
Дата 23.12.2009, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 24
Всего: 538



Цитата(freelanderz @  23.12.2009,  16:24 Найти цитируемый пост)
к сожалению, моих знаний новичка не хватает осилить секционирование, можете пожалуйста пояснить понятным языком что это.

Это то, что ты пытаешься сделать руками, но только реализованное на уровне СУБД.

А вообще просто запомни: за DDL в продакшн базе, из кода программы или процедуры - DBA бьют канделябрами по голове. Пока программист не поумнее или не сменит профессию.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
freelanderz
Дата 23.12.2009, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.12.2009

Репутация: нет
Всего: нет



Города я просто так привел, как бы логически если делить. но смысл не в том. Есть объем данных которому не нужна нормализация и так далее. Добавление новых данных и прочее мы сейчас не рассматриваем. Есть объем данных, положим он не меняется. мне нужно выбирать массивы данных из этого набора. где это быстрее будет происходить из таблицы размерностью 100 000 записей, или из 10 таблиц размерностью 10 000 записей.

Важное замечание: выборка всегда только из ОДНОЙ  таблицы.  То есть если я делю на 10 то выбирать мне нужно будет только из одной, мне известной таблицы. А не из нескольких. По сути вопрос сводиться к тому откуда будет выборка быстрее из большой или из маленькой таблицы. Ответ очевиден, из маленькой, но мне важна именно разница скоростей, на сколько она будет существенна, или наоборот пренебрежительно мала. Интересует именно если таблица будет довольно таки большой в 300 000 тыщ записей.
PM MAIL   Вверх
Zloxa
Дата 23.12.2009, 16:53 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



freelanderz

Приведите пожалуйста план запроса, который вызывает у вас опасения, оценку селективности каждого из предикатов отбора, информацию о наличии индексов по таблице, типы данных, используемые условиях отбора, а так же результаты тайминга на 100к записях и на 10к записях.

Мы попытаемся вам предсказать что будет у вас на 300к записях.

Важное замечание:Задавайте ясные и четкие вопросы

Важное добавление. Все таки изучите возможность секционирования вашей таблицы. Секционирование предназначено в том числе и для оптимизации времени доступа к большим объемам данных.

ПС. Вы не обозначили пока ни одной причины, ради которой следовало бы жертвовать грамотностью архитектурного решения в угоду требований производительности.

Это сообщение отредактировал(а) Zloxa - 23.12.2009, 17:05


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0712 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.