|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.08.2016, 13:49 | #31 |
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
Да, можно делать выборку сразу из нескольких связанных таблиц (JOIN), только в вашем случае это незачем. 2 запроса к БД займут миркосекунды, у вас выборки не сложные. Это не то, на чём надо экономить.
А держать всё в одной таблице - придётся дублировать в каждой строке все общие поля. Целостность данных при этом может пострадать. PS: Современные движки делают до 200 MySQL-запросов для формирования одной страницы сайта. |
22.08.2016, 13:50 | #32 | |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Цитата:
|
|
22.08.2016, 20:05 | #33 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
predefined
"И можно ничего не мутить с "реализацией посылки сразу нескольких кликов, если их частота составляет быстрее 1 раза в секунду". В случае чего, очередь будет сделана операционной системой при приёме TCP/IP пакетов, и вторая - на MySQL если он не будет успевать за вашим скриптом." Возможно я плохо объяснил. Под пакетами я имел ввиду обыкновенный post запрос в котором несколько кликов объединены в одну общую строку. Думаю на счет реализации вашего предложения #27 Но опять хочу напомнить и спросить : скорость посылки запросов от обоих программ врятли будет чаще 1 раза в секунду. Т.е. вероятность того что запросы от обоих программ придут в одно время чтобы случилась коллизия между отдельными запросами, наверняка, оооочень мала? Т.е. я как бы не уверен стоит ли вообще что то городить. |
23.08.2016, 12:35 | #34 |
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
Illusiony, я под "пакетами" то же самое имел ввиду. Да, технически неграмотно выразился.
На счёт коллизий. TCP/IP - среда с негарантированной доставкой пакетов(тут уже "пакеты" именно те). По дороге пакеты могут дробится маршрутизаторами на более мелкие и потом собираться обратно маршрутизатором на выходе. Любой такой мелкий пакетик может потеряться, тогда он будет отослан заново, и на это тратится время. Поэтому в Интернете возможны коллизии, когда второй посланный пакет придёт вперёд первого. Я бы не стал рисковать, и сделал обработку с учётом возможности одновременного прихода пакетов от обеих программ. Потому, что отловить такие ошибки потом будет очень сложно. На одних провайдерах интернета всё будет работать, а на других - загадочно глючить. Критично это или нет - решать вам. Может потеря пары пакетов с данными и не важна для работы ваших приложений. |
23.08.2016, 20:17 | #35 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
predefined, А мне получается нужен формат времени в микросекундах? Ведь с дискретностью в 1 секунду возможно появление одинакового времени.
А вместо времени можно же присылать от программы просто счетчик с номером клика вместо timestamp . Сделать его например SMALLINT 65 тысяч вполне хватит до переполнения. Последний раз редактировалось Illusiony; 23.08.2016 в 21:30. |
23.08.2016, 21:48 | #36 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
ТС, я что-то смотрю, а вам точно вообще нужна БД? может на очереди посмотреть? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
23.08.2016, 21:56 | #37 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
|
23.08.2016, 22:35 | #38 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
можно и в базе очередь организовать весьма просто, но автор уперся в какието чистилки и еще не пойми во что
|
24.08.2016, 11:26 | #39 | ||
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
Цитата:
Как я понимаю, Приложение 2 просто должно знать порядок прихода данных,чтобы обрабатывать их в том же порядке, как они приходили. Возможно, достаточно будет поля автоинкремент в БД, но тогда будет не "порядок отправки данных Приложением" а "порядок их поступления на сервер". Они могут не всегда совпадать, см поправку от Пепел Феникса выше. Цитата:
Но автор планирует посылать данные отдельными http-запросами, там теоретически может быть и каша. Последний раз редактировалось predefined; 24.08.2016 в 11:31. |
||
24.08.2016, 11:37 | #40 | |
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
Цитата:
Тем, не менее, он не поленился и в "поисках истины" накидал тест. Уважаю упорных и настойчивых. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать программу, с помощью которой изображение будет разбиваться по пикселям и будет создаваться матрица | andrey4515 | Помощь студентам | 2 | 08.01.2014 18:44 |
Будет ли сервер idTCP работать без веделенного внешнего ip (Delphi Indy) | _PROGRAMM_ | Помощь студентам | 1 | 29.11.2010 13:52 |
какая структура *.icns?? | Ntlegend | Общие вопросы Delphi | 3 | 02.09.2009 01:24 |
Учет оплаты. Какая формула будет если..? | Anton_audit | Microsoft Office Excel | 5 | 12.08.2009 17:40 |
посчитать какая доставка для клинта 10-я? Delphi (Клиент-Сервер) | Vindigo | Помощь студентам | 6 | 27.01.2008 15:28 |