![]() |
|
Модераторы: LSD |
![]()
|
|
| freelanderz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
Здравствуйте уважаемые пользователи форума! Помогите советом. Проектирую базу данных на MySQL, задался простым, но очень важным вопросом - что лучше, одна большая таблица или много маленьких? (с точки зрения дальнейшей обработки и пр.). Допустим есть данные их можно поместить в 1 таблицу 100 000 записей или в 100 по 1000 или в 10 по 10000. Будет стандартная работа с базой: добавление, удаление, несложный поиск в ней.
И еще, скажите пожалуйста сколько записей в таблице в MySQL максимально допустимо? Спасибо большое, жду ответов от знающих людей. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Смотря для чего и какую инфу хранить.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 5 Всего: 252 |
freelanderz, прочитайте Нормализацию баз данных.
|
|||
|
||||
| freelanderz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
Смысл в том что есть однотипные записи их можно хранить в одной таблице или в нескольких, потому что логически записи будут большими группами. есть ли смысл эти записи делить на таблицы по этим группам, простой пример есть записи допустим по городам, стоит ли делать для каждого города отдельную таблицу если для каждого такого города будет по 10 000 записей. То есть для 10 городов 100 000записай, но вобще городов может быть больше 10 например 40 или 50. Более всего важна именно выборка из таблиц, поиск второстепенная задача и не особо важен Или все записи в том числе из разных городов слоить в одну кучу, или раскидать по отдельным таблицам.
|
|||
|
||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
| freelanderz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
хотел еще добавить, что про нормализацию речи не идет, меня интересует вопрос именно с физической точки зрения - скорость выборки главное.
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
а как на счет секционирования? на скорость выборки можно влиять железом -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| freelanderz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
||||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Железо это ответ по сабжу. Если ктото даст более конкретный ответ - не верьте ему. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| freelanderz |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
к сожалению, моих знаний новичка не хватает осилить секционирование, можете пожалуйста пояснить понятным языком что это. спасибо! Добавлено через 2 минуты и 5 секунд
железо - это решающий фактор на скорость, но вопрос совершенно в другом - допустим на одном и том же "железе" как лучше реализовать, то что указано в топике. Спасибо |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Что значит записи по городам? Инфа о городах? Ну так в одной таблице и храни с полями "название - численность населения - площадь....". Или же, в зависимости от ситуации, можно сделать две таблицы: в одной - список городов (с ID каждой записи), в другой - информация по ним. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 24 Всего: 538 |
Это то, что ты пытаешься сделать руками, но только реализованное на уровне СУБД. А вообще просто запомни: за 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. |
|||
|
||||
| freelanderz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
Города я просто так привел, как бы логически если делить. но смысл не в том. Есть объем данных которому не нужна нормализация и так далее. Добавление новых данных и прочее мы сейчас не рассматриваем. Есть объем данных, положим он не меняется. мне нужно выбирать массивы данных из этого набора. где это быстрее будет происходить из таблицы размерностью 100 000 записей, или из 10 таблиц размерностью 10 000 записей.
Важное замечание: выборка всегда только из ОДНОЙ таблицы. То есть если я делю на 10 то выбирать мне нужно будет только из одной, мне известной таблицы. А не из нескольких. По сути вопрос сводиться к тому откуда будет выборка быстрее из большой или из маленькой таблицы. Ответ очевиден, из маленькой, но мне важна именно разница скоростей, на сколько она будет существенна, или наоборот пренебрежительно мала. Интересует именно если таблица будет довольно таки большой в 300 000 тыщ записей. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
freelanderz
Приведите пожалуйста план запроса, который вызывает у вас опасения, оценку селективности каждого из предикатов отбора, информацию о наличии индексов по таблице, типы данных, используемые условиях отбора, а так же результаты тайминга на 100к записях и на 10к записях. Мы попытаемся вам предсказать что будет у вас на 300к записях. Важное замечание:Задавайте ясные и четкие вопросы Важное добавление. Все таки изучите возможность секционирования вашей таблицы. Секционирование предназначено в том числе и для оптимизации времени доступа к большим объемам данных. ПС. Вы не обозначили пока ни одной причины, ради которой следовало бы жертвовать грамотностью архитектурного решения в угоду требований производительности. Это сообщение отредактировал(а) Zloxa - 23.12.2009, 17:05 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |