|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.03.2014, 15:48 | #1 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
На сколько разница в производительности?
Допустим имеется 2 таблицы по несколько тысяч-десятков тысяч записей.
1 Способ обработки данных: в цикле перебираем по очереди каждую запись в таблице 2 и при необходимости производим расчеты и перезапись данных в данной записи таблицы2 и 1 и перезапись при необходимости 1 или более записей в таблице1. 2 способ: Читаем почти всю таблицу2 и почти всю таблицу1. Производим весь расчет сразу и перезаписываем почти всю таблицу2 и почти всю таблицу1 ( может быть получится перезаписывать только изменившиеся данные, но это дополнительные трудности) Насколько 2 способ может быть более производительным если перезаписывать почти все данные в обоих таблицах за раз и если удастся перезаписывать лишь изменившиеся записи? Последний раз редактировалось Illusiony; 15.03.2014 в 15:50. |
15.03.2014, 15:52 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А где же тут SQL?
Самое лучшее одним запросом все проделать, не забыв индексацию для него правильную создать. И я не пойму зачем делать перзапись?
I'm learning to live...
|
15.03.2014, 15:53 | #3 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Перезапись? после расчетов необходимо изменить уже имеющуюся информацию вот и нужна перезапись.
Приблизительно во сколько раз теряется производительность? Для реализации второго способа необходимо еще много думать, а я лишь занимаюсь этим как хобби ( самоучка без образования программиста) Последний раз редактировалось Illusiony; 15.03.2014 в 15:56. |
15.03.2014, 16:00 | #4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
А если бы с индексацией одним запросом то гораздо быстрее было. Цитата:
I'm learning to live...
|
||
15.03.2014, 16:09 | #5 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Эта таблицы так сказать искусственных космических кораблей( таблица2) и кораблей игроков ( таблица) в игре. Планируется несколько тысяч искусственных кораблей. Для части из них ненужно ничего рассчитывать а для другой части необходимо.
Здесь будет расчет боев. Игра пошаговая период шага допустим 20 секунд. И в момент шага и ведутся все расчеты. То есть 1 раз в 20 секунд ведутся эти и многие другие расчеты и изменения данных в таблицах. При этом в промежутке времени между ходами данные в таблицах также изменяются но гораздо меньше действий. Суммарная загрузка по времени на рассчет я думаю достаточно около 3 секунд. Вот и вопрос стоит ли мне напрягаться? если на все это есть около 3сек это много или мало? ( Если , допустим это будет крутиться на VPS за 20-50 USD?) Читать нужно почти все данные в 2х базах, а вот перезапись реально необходима лишь в какой то части записей , ну допустим в 20-30%. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Падение производительности | O m n i s | Софт | 4 | 30.09.2013 14:58 |
Информация о производительности | Blade | Общие вопросы C/C++ | 2 | 24.11.2009 23:04 |
(предупреждение о производительности) | mrandrey | Общие вопросы C/C++ | 10 | 25.08.2009 20:49 |
Оценка производительности сайта | kiwibird | Свободное общение | 3 | 06.06.2009 00:22 |
Помогите оценить, сколько может стоить проект. Его покупают - сколько взять? | grenles | Свободное общение | 4 | 16.07.2008 09:38 |