Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Работа с большим кол. записей
 
Всем привет. Проектирую БД. Встал вопрос о производительности.

:!:

Сервер: MySQL
Версия сервера: 5.0.51a
Версия протокола: 10
Кодировка: UTF-8 Unicode (utf8)

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

Структура таблицы "values"
Код
value_option_id | INT | UNSIGNED | Уникальный
value | VARCHAR(64)


Если предположить, что таблица "values" содержит 50 млн. записей следующего вида:
Код
1 | 6500
32 | Задний
53 | 407/4000
74 | 8
95 | 3.73
116 | -
137 | Винтовая пружина 
и т.д.


Возникает вопрос о производительности выполнения последовательно около 50 запросов (такие группы запросов будут выполняться 500 000 раз за 24 часа, другими словами, это 25 млн. запросов в сутки) следующего типа:
Код
SELECT value FROM values WHERE value_option_id = 1;
SELECT value FROM values WHERE value_option_id = 32;
SELECT value FROM values WHERE value_option_id = 53;
и т.д.


Есть еще вариант запроса к таблице "values", он имеет следующий вид:
Код
SELECT value_option_id WHERE value = '6500' && value = 'Задний' [&& value = 'x'];

Кол-во таких запросов за 24 часа, будет примерно 300 000.

:?:

Имеет ли смысл таким образом проектировать БД при таком раскладе?
Насколько серьезное потребуется железо для выполнения данных операций в короткие сроки (до 2 секунд группы из 50 запросов в первом варианте и до 2 секунд единичная выборка во втором варианте)?
Да и вообще, реально ли это?

Я понимаю, что тут можно обсуждать очень и очень приблизительно это дело, но все же...
Буду рад любым советам и прочему материалу для размышления, как организовать подобный сервер БД.
 
Цитата
Evildevel пишет:
SELECT value_option_id WHERE value = '6500' && value = 'Задний' [&& value = 'x'];

это очень херовый дизайн.
Страницы: 1
Читают тему