Много записей в одной таблице или мало записей в нескольких ?

123av

Новичок
Много записей в одной таблице или мало записей в нескольких ?

Допустим имеется более 10млн записей , в таблице есть поле Client_ID , так вот , будет ли лучше создать для каждого клиента свою таблицу вида Table_Client_ID с примерно 10тыс.записей в каждой. Нужно так же учитывать что база постоянно растет.
 

123av

Новичок
для хранения временных записей в количестве 10к-100к для каждого клиента.
 

Фанат

oncle terrible
Команда форума
база данных служит не для хранения
хранить можно в текстовом файле.

а если планируется использование этих данных, то оно и должно определять архитектуру
 

123av

Новичок
конечно данные используются для построения различных отчетов , но изменение данных идет оперативно , у некоторых клиентов данные меняются ежеминутно.
 

Фанат

oncle terrible
Команда форума
ну вот исходя из структуры отчетов и надо проектировать базу
 

123av

Новичок
да дело в другом , меня интересует с точки зрения скорости работы , как будет быстрее , одна таблица с 10млн записей или несколько таблиц с 10к-100к записей ?
 

Фанат

oncle terrible
Команда форума
Да при чем здесь скорость-то.
Ё. Вот я невнимательный. пропустил слово "допустим" в первом вопросе.
Иди, мальчик, играй в песочек дальше.
Когда(если) дорастешь до таблицы в 10 лимонов записей, таких вопросов у тебя возникать не будет.
 

123av

Новичок
1. Зимой , в песочке тяжело играть , спроси у любого стоителя.
2. а просто ответить на вопрос , религия не позволяет ?
 

Avenus

Under Glory Yield
123av, понимаешь, что не объемы играют роль, а способы обращения к таблицам. На твой вопрос нельзя ответить однозначно :)
 

Фанат

oncle terrible
Команда форума
На дурацкий вопрос не бывает ответа.
Я очень надеялся, что это и так будет понятно.
 

Alexandre

PHPПенсионер
погуглить по слову database sharding
есть много интересных решений
 

zerkms

TDD infected
Команда форума
Alexandre
гуглить нужно тогда, когда проблемы есть, потому как неспециалист (да и специалисты - далеко не всегда) не смогут достаточно корректно спрогнозировать, во что упрётся перформанс. более того, при таких вопросах можно с достоверностью в 0.99 констатировать, что и без шардинга у человека в приложении и базе проблем - тонны.
 

kotpl_

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

kotpl_

Новичок
Автор оригинала: *****
kotpl_
а если это будут агрегатные запросы?
Все зависит от многих факторов. Например. Эти таблицы myisam? Будут ли использоваться блокировки?
Насколько структура нормализирована? Как много клиентов? - напр. см. MySQL
Руководство администратора, раздел 6.4.9 Недостатки создания множества таблиц в одной базе данных.
(для таблиц MyISAM). В общем, нужно смотреть на структуру БД и на запросы, которые должны будут
выполнятся, а также учитывать требования бизнеса (например,можно ли вообще залокировать все и
построить отчет в течении 2-ух часов ночью?)
 
Сверху