Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нагрузка на базу или на скрипт?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
valenok Модератор
Отправлено: 23 Ноября, 2006 - 11:38:32
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Отредактированно автором.
Смотри ниже.


-----
Truly yours, Sasha.
 
My status
 Top
f0rm4t
Отправлено: 23 Ноября, 2006 - 17:26:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006  


Помог: -1 раз(а)




Привет =)
На сколько я помню, рекомендуется делать упор на БД.
 
 Top
valenok Модератор
Отправлено: 23 Ноября, 2006 - 18:15:04
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Смотрите ниже


-----
Truly yours, Sasha.
 
My status
 Top
f0rm4t
Отправлено: 23 Ноября, 2006 - 18:51:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006  


Помог: -1 раз(а)




Apache+PHP скушают больше ресурсов, нежели один демон MySQL. Это еще один плюс метода "упор_на_бд" Подмигивание
 
 Top
valenok Модератор
Отправлено: 23 Ноября, 2006 - 19:27:47
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Скрипт сам по себе очень большой и требует больших системных ресурсов.
Вопрос был в том, что эффективней,

ставить в базе 10 колонок
в скрипте цикл прогонять 10 раз

или в базе 5 колонок
цикл прогонять 5 раз, но в цикле добавить нечто вроде
$var1 = $var{0}; $var2 = $var{1};

Размер базы в обоих случаях тот же, вопрос в кол-ве. колонок,
или запуске циклов.

--

Сам скрипт это чтото вроде того что у пользователя есть 5 букв, каждой буквы есть определённое количество, ему надо составить слова из этих букв. Если он использует букву, количество этой буквы спускается, а когда он использует все буквы "А" то а таблице колонка отведённая под букву А опусташается.

Не надо мне говорить что у меня не правильная реализация старинной и известной русской игры, просто надо объяснить что с точки зрения сисетмных требований эффективней.

Объём информации в базе остаётся тем же не взирая на количество стобцов.

Букв всего 5.
Макс. количество одной буквы это 999 999

Всмысле при максимальных значениях в базе будут находиться следующие значения:

999999А
999999Б
999999В
999999Г
999999Д

хотя тогда просто способ $var1 = $var{0}; $var2 = $var{1};
не подходит. Парсинг так же будет сложней


-----
Truly yours, Sasha.
 
My status
 Top
valenok Модератор
Отправлено: 24 Ноября, 2006 - 15:11:26
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)






А теперь попробую изложить проблему по другому для того чтобы получить однозначный ответ

Скрипт работает паралельно на 1000 компьютерах.
В базе 500 000 строк.
Как по вашему должна выглядеть база и кусок скрипта который будет брать из базы
набор букв и их количество.

В каждой строке в базе дожны находиться пять определённых букв, в нашем случае это А, Б, В, Г и Д
Теперь каждому ползователю скрипта принадлежит одна строка в базе, к примеру с индетификатором ID = 217259, который хранится в сессии.

Пользователь использует букву А, и в базе списывается количество букв А для этого пользователя на одну единицу.

Как по вашему должна выглядеть база и кусок скрипта который будет брать из базы
набор букв и их количество.
Требования: наименьшие системные требования, наивысшая скорость исполнения. Вообщем - эффективность.

Заранее благодарю.


-----
Truly yours, Sasha.
 
My status
 Top
f0rm4t
Отправлено: 24 Ноября, 2006 - 15:39:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 433
Дата рег-ции: Июнь 2006  


Помог: -1 раз(а)




1. Скрипт выполняется на 1к компьютерах, или используют 1к копий запущенных на одном сервере?
2. Я не знаю такой игры, но все таки советую использовать БД.
3. Значения в БД будут изменяться часто?
 
 Top
valenok Модератор
Отправлено: 24 Ноября, 2006 - 16:00:02
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




1.Да.
2. Я не виноват =) Как построить таблицу?
3. Очень 1000 UPDATE'ов & 1000 SELECT'ов в минуту.

Написав пункт 3 - тоже решил что стоит нагружать базу.
её максимальный размер будет

6-ти значный идентификатор строки / пользователя
5 букв
5 шестизначных цифр означающих количество той или иной буквы

Тоесть при макс. значениях, в базе будут записанны

6+5+6*5 = 41 байт на строку
500 000 строк = 20500 кб = 20 мб
Так?


И всё же вопрос: как следует делать таблицу? Как она должны выглядеть для того чтобы можно было достичь эффективнейшего исполнения скрипта.



-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB