|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
Уважаемые форумчане! Требуется ваша помощь! Подскажите, как правильно? Задача простая, нужно записать визит пользователя в базу данных . Подключаемся к базе данных. Обновляем запись о посетителе в таблице. А вдруг посетитель впервые и его записи нет, значит вставляем запись. Для развёртывания (для первого запуска): А вдруг таблицы нет, значит создаём таблицу. Вопрос 1: Беспокоит то, что каждый раз при обновлении (update) куча холостых операций (create, insert), может это как то иначе решается, подскажите. Вопрос 2: А как вы решаете задачи которые требуются однократно при первом запуске? Вопрос 3: Подключение к базе данных. Может в другой файл переместить? Но тогда при перемещении файла будут проблемы, а если оставить - то постоянно открывается и закрывается подключение к базе данных в разных файлах. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 15:49 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
tonchikpБеспокоит то, что каждый раз при обновлении (update) куча холостых операций (create, insert), может это как то иначе решается, подскажите. Хм, create выполнить заранее, куда и как Вы развёртываете приложение на хостинг, сервер клиента, в облако, на мобильное устройство? update не делать, только insert-ы с датой очередного посещения, значение visitCounter считать запросом, либо в фоне, либо (а вдруг у вас там большой поток данных) вообще лямбда-архитектуру использовать ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 16:09 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
tonchikpЗадача простая, нужно записать визит пользователя в базу данных . А вообще для начала стоит разобраться в том, а что такое визиты и кому данные о них нужны. Вот для меня это кто, когда и куда заходил. И я эти данные могу вертеть по разному, анализировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 16:14 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
Обычная практика - это управлять схемой базы данных при помощи так называемых миграций. Во многих PHP фреймворках это есть "с коробки". Есть и как отдельные продукты, например flyway (JAVA), на пхп не подскажу конкретных названий. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 16:31 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
skyANAна мобильное устройство? на пыхе то?) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 16:39 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
skyANAкуда и как Вы развёртываете приложение на хостинг, сервер клиента, в облако, на мобильное устройство? На хостинг skyANAupdate не делать, только insert-ы с датой очередного посещения, значение visitCounter считать запросом, либо в фоне, либо (а вдруг у вас там большой поток данных) вообще лямбда-архитектуру использовать Неожиданно :) А если например нужно именно только количество посещений, разве не будет в этом случае куча бесполезной информации (во-первых), да и мне кажется прибавлять единичку проще с точки зрения производительности, нежели считать количество записей разрастающейся базы (во-вторых) Разве нет? skyANAВот для меня это кто, когда и куда заходил. И я эти данные могу вертеть по разному, анализировать. Я знаю, для меня тоже так, просто упростил задачу чтобы лучше было видно зерно задачи ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 16:47 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
tonchikpА если например нужно именно только количество посещений, разве не будет в этом случае куча бесполезной информации tonchikpskyANAВот для меня это кто, когда и куда заходил. И я эти данные могу вертеть по разному, анализировать. Я знаю, для меня тоже так, просто упростил задачу чтобы лучше было видно зерно задачи Вы уж определитесь, что у Вас за задача и какие данные Вам нужны. Как Вы к примеру посчитаете количество визитов за последнюю неделю, если будете хранить только общее количество визитов пользователя? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 18:38 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
HettskyANAна мобильное устройство? на пыхе то?) Есть энтузиасты, что на десятке китайских планшетов кластера разворачивают :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 18:43 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
И есть к примеру Bit Web Server (PHP,MySQL,PMA) , что is specially designed for mobile and tablet. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 18:46 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
skyANAВы уж определитесь, что у Вас за задача и какие данные Вам нужны. Как Вы к примеру посчитаете количество визитов за последнюю неделю, если будете хранить только общее количество визитов пользователя? Не, в реальной задаче я по другому спроектирую базу данных и если нужно будет всё учтётся. Просто вопрос не в этом, поэтому для упрощения пусть от посетителя нужно только количество, как сказано в первом сообщении ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 20:45 |
|
SQL Update or Insert
|
|||
---|---|---|---|
#18+
tonchikpskyANAВы уж определитесь, что у Вас за задача и какие данные Вам нужны. Как Вы к примеру посчитаете количество визитов за последнюю неделю, если будете хранить только общее количество визитов пользователя? Не, в реальной задаче я по другому спроектирую базу данных и если нужно будет всё учтётся. Просто вопрос не в этом, поэтому для упрощения пусть от посетителя нужно только количество, как сказано в первом сообщении Хм, я отвечал на: "может это как-то иначе решается". Если не подходит, потому как задача не реальная, так я ведь не настаиваю. Решайте как Вам виднее :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2017, 21:00 |
|
|
start [/forum/topic.php?fid=23&msg=39489594&tid=1460576]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
108ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 532ms |
0 / 0 |