SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 11.03.2012 01:09:40

400kg
Участник
Зарегистрирован: 13.09.2010
Сообщений: 9

Оптимальный способ хранения данных

Здравствуйте.

Есть четыре-пять двухзначных чисел. Скажите пожалуйста, как оптимальней хранить данные в такой ситуации?

Лучше создать для каждого столбец с TINYINT(2) или хранить все в одном столбце в виде строки VARCHAR(14)  "00|00|00|00|00". Или может быть еще как-то?

Извлекаются данные всегда все вместе. То есть какое-то отдельное число выбирать нет необходимости.

Неактивен

 

#2 11.03.2012 01:11:30

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Оптимальный способ хранения данных

Здравствуйте. Хранить в виде строки - обычно очень плохое решение. Проще если что собрать эту строку с помощью group_concat. Скорее действительно столбцы с TinyInt. А какие запросы планируются?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 11.03.2012 01:14:58

400kg
Участник
Зарегистрирован: 13.09.2010
Сообщений: 9

Re: Оптимальный способ хранения данных

Запросы частые и простые SELECT, UPDATE (или что-то еще имеется ввиду?)

Число записей около 100000.

Неактивен

 

#4 11.03.2012 01:23:23

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Оптимальный способ хранения данных

Я имел в виду конкретные SELECT'ы, из этого нужно исходить при выборе структуры данных. Какие запросы планируются на запуск наиболее часто? Если данные всегда нужны в виде 00|00|00|00|00, то можно и строкой, если же форматирование будет различаться или планируется какая-то арифметика (допустим сложить все числа в рамках одной строки), то лучше разделить. И подозреваю, что стоит проиндексировать это поле (поля).


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 11.03.2012 01:37:06

400kg
Участник
Зарегистрирован: 13.09.2010
Сообщений: 9

Re: Оптимальный способ хранения данных

Арифметических операций особо никаких.

Числа - это данные при окончании игры, такие как "количество попаданий по цели", "количество промахов", "количество пропущенных целей", "общее число показаных мишеней", "в среднем очков за попадание".

Завершилась игра, сверяется результат, если он больше того, который в БД, то все эти параметры перезаписываются в соответствии с новым рекордом. Это касаемо UPDATE. Ну а SELECT - при просмотре анкеты игрока в виде статистических данных.

Отредактированно 400kg (11.03.2012 01:37:29)

Неактивен

 

Board footer

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