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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> правильная структура БД, как правильно спроектировать БД? 
:(
    Опции темы
Zloxa
Дата 16.11.2011, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Каков реглмент формирования отчета 3?
Существует ли необходимость оперативно распечатать этот отчет по тесту, пройденному десять лет назад? Имеет ли смысл хранить эти данные, может быть имеет смысл хранить сам отчет? Скажем PDFе, на болванке, в сейфе. И регламентно сливать эту инфу в pdf раз в месяц/ поугодие/год.

Можно добвить разрез даты в таблицу и секционироватся по ней. Раз, скажем в месяц, добавлять секцию, а какую нить древнюю секцию сливать на ленту, болванки

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


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


Шустрый
*


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

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



Может быть стоит хранить информацию только о не правильно отвеченных вопросах? Зачем дублировать правильно отвеченный вопрос? Ведь информация о правильных ответах на вопросы хранится таблице "Тответы", и по сути информация о правильных ответах будет дублироваться в таблицах "Тответы" и "Рответы". Это значительно позволит сократить объем записей в таблице "Рответы".
Также метод хранения только не правильно отвеченных вопросов упростит выборку из БД, просто выводить все что есть в таблице "Рответы" с указанным id_теста, группировать по id_вопроса

А вот про архивирование прошлогодних тестов, возможно будет извлекать информацию без труда если это понадобится, поскольку не исключены случаи когда надо будет оперативно сформировать отчет за прошлые года? 

Метод партиционирование (partitioning) таблиц — это разбиение больших таблиц на логические части по выбранным критериям.. На нижнем уровне для myISAM таблиц, это физически разные файлы, по 3 на каждую партицию (описание таблицы, файл индексов, файл данных). 

Я могу установить границы логических частей в зависимости от количества записей в таблице. 

лог_часть1 от 0 до 1 000 000
лог_часть2 от 1 000 001 до 5 000 000
лог_часть3 от 5 000 001 до 10 000 000
лог_часть4 от 10 000 001 до 20 000 000
лог_часть5 от 20 000 001 до 50 000 000
лог_часть6 более 50 000 001

Во время запроса, поиск будет происходить не во всех таблице а только в пределах какого то логического раздела, что существенно сократит поиск информации в таблице. 

Я правильно понимаю принцип партиционирования таблиц? Или принцип работы другой и не годится для данной структуры?



Это сообщение отредактировал(а) Norfonzor - 17.11.2011, 09:01
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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