SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 29.11.2010 15:00:36

Nick
Участник
Зарегистрирован: 20.02.2010
Сообщений: 7

Два теоретических вопроса

Как лучше хранить данные:
1. Создать одну таблицу с большим количеством столбцов
либо
2. Для каждой записи из основной таблицы создавать по несколько небольших таблиц (5-10 штук)

Что будет работать быстрее и эффективнее:
1. Выбор одной записи из таблицы с 1 000 000 записей и большим количеством столбцов
или
2. Обращение к конкретной небольшой таблице при условии, что таблиц будет 10 000 000

Неактивен

 

#2 29.11.2010 16:51:09

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Два теоретических вопроса

Не существует универсального решения. Всё зависит от задачи. Например,
если Вам каждый раз нужны все столбцы из таблицы, то имеет смысл делать
широкую таблицу — так данные каждой строки будут находиться рядом и
выбираться быстро. В то же время, если нужно обычно 2-3 колонки, а расши-
ренная информация других столбцов бывает нужна раз в неделю, то имеет
смысл разбить таблицу на несколько, и доставать данные с использованием
нескольких дополнительных seekов по диску для доступа в другую таблицу.

Неактивен

 

#3 30.11.2010 17:50:34

Nick
Участник
Зарегистрирован: 20.02.2010
Сообщений: 7

Re: Два теоретических вопроса

А что работает быстрее, с меньшей нагрузкой на сервер: выбор одной записи из 1 000 000 или обращение к определенной таблице если этих таблиц 5 000 000 ? Спрашиваю так как обращений к базе будет очень много и часто.

Неактивен

 

#4 30.11.2010 21:36:18

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Два теоретических вопроса

К одной из миллиона, так как пять миллионов в пять раз больше wink
Вы сравниваете сферических коней в вакууме. Они отличаются только радиусом.
Радиусы у них отличаются в пять раз.

Для большого количества запросов надо запланировать шардирование изначально,
а всё остальное делать по мере необходимости. Преждевременная оптимизация —
корень зла.

Неактивен

 

#5 02.12.2010 12:58:48

Nick
Участник
Зарегистрирован: 20.02.2010
Сообщений: 7

Re: Два теоретических вопроса

Благодарю.

Ушел искать, что такое шардирование smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson