|
| |
|
|
| |
для: Trianon
(24.11.2006 в 18:02)
| | | У каждого разные | |
| |
|
|
| |
|
|
| |
для: valenok
(24.11.2006 в 16:12)
| | | Что то я не понял, на разных строках (т.е. у разных пользователей) разные наборы букв? Или у всех А Б В Г Д ? | |
| |
|
|
| |
|
|
| |
для: valenok
(24.11.2006 в 16:55)
| | | Планируется около 1000 обновлений базы в минуту UPDATE
И 1000 выборок в мин. SELECT
её максимальный размер будет
6-ти значный идентификатор строки / пользователя
5 букв
5 шестизначных цифр означающих количество той или иной буквы
Тоесть при макс. значениях, в базе будут записанны
6+5+6*5 = 41 байт на строку
500 000 строк = 20500 кб = 20 мб
Так?
И всё же вопрос: как следует делать таблицу? Как она должны выглядеть для того чтобы можно было достичь эффективнейшего исполнения скрипта. | |
| |
|
|
| |
|
|
| |
для: Loki
(24.11.2006 в 16:38)
| | | Есть такая игра. У тебя всего 15 фишек, на каждой фишке 1 буква.
Всего в игре 5 разных букв и они А, Б, В, Г и Д
Тоесть в самом начале игры у тебя 5 фишек с буквой А, 5 Б, 5 В ...
Ты составил слово, тебе в другой таблице начислилось 10 очков. При составе слорва ты использовал буквы три буквы Г, А и В
Их количество в базе тебе следует списать, тоесть у тебя осталось 4 фишки Г, 4 фишки А и 4 фишки В
Как следует записывать в таблице количество оставшихся у тебя букв ?
Как в скрипте получить а отдельные переменные количество букв и саму букву?
Тоесть:
$letter_1 = 'A';
$quantity_1 = '4';
$letter_2 = 'B';
$quantity_2 = '4';
$letter_3 = 'Д';
$quantity_3 = '4'; | |
| |
|
|
| |
|
|
| |
для: valenok
(24.11.2006 в 16:12)
| | | Я может не очень понял условие, но я бы вообще оставил три колонки:
буква | частота | идентификатор юзера.
номер сессии вынес бы в отдельную таблицу. Ну и все проиндексировал, понятное дело. | |
| |
|
|
| |
|
|
| |
для: Trianon
(24.11.2006 в 13:09)
| | | А теперь попробую изложить проблему по другому для того чтобы получить однозначный ответ
Скрипт работает паралельно на 1000 компьютерах.
В базе 500 000 строк.
Как по вашему должна выглядеть база и кусок скрипта который будет брать из базы
набор букв и их количество.
В каждой строке в базе дожны находиться пять определённых букв, в нашем случае это А, Б, В, Г и Д
Теперь каждому ползователю скрипта принадлежит одна строка в базе, к примеру с индетификатором ID = 217259, которsq хранится в сессии.
Пользователь использует букву А, и в базе списывается количество букв А для этого пользователя на одну единицу.
Как по вашему должна выглядеть база и кусок скрипта который будет брать из базы
набор букв и их количество.
Требования: наименьшие системные требования, наивысшая скорость исполнения. Вообщем - эффективность.
Заранее благодарю. | |
| |
|
|
| |
|
|
| |
для: valenok
(24.11.2006 в 11:07)
| | | с where id=... (если id - primary key) и SELECT и UPDATE будут выполняться мгновенно.
INSERT тоже. | |
| |
|
|
| |
|
|
| |
для: valenok
(23.11.2006 в 22:09)
| | | Ну и операции само собой SELECT INSERT UPDATE всё.. | |
| |
|
|
| |
|
|
| |
для: Trianon
(23.11.2006 в 20:52)
| | | Cтруктуру таблицы вы сами привели :
id INT(11),
letters CHAR(5), -- АБВГД
cnt1 MEDIUMINT(6), -- 999999
cnt2 MEDIUMINT(6), -- 999999
cnt3 MEDIUMINT(6), -- 999999
cnt4 MEDIUMINT(6), -- 999999
cnt5 MEDIUMINT(6), -- 999999
|
| |
| |
|
|
| |
|
|
| |
для: valenok
(23.11.2006 в 20:38)
| | | Вы же не сказали, какие операции выполняете с этой таблицей. Даже структуру её полностью не привели. Сказали отвечать сугубо по вопросу. По вопросу и ответил. | |
| |
|
|
|