
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
30.01.2015, 15:53:03
|
|||
|---|---|---|---|
|
|||
Я горе-программист или можество запросов в БД |
|||
|
#18+
Приветствую всех. Для начала хочу сказать то, что все работает как нужно, никаких глюков. Проблема вот в чем: Я боюсь, я боюсь что что-то сделал не так. У меня имеется чат, при добавлении нового сообщения скрипт обращается 5 раз к БД. Это приемлемо? Первый запрос - проверка существования пользователя Второй запрос - получения ID последнего сообщения для того, чтобы склеить сообщения, в случае если один и тот же пользователь написал 2 или более раз подряд. Третий запрос - вставка или обновление (в случае склеивания) нового сообщения Четвертый запрос - добавление данных о картинках (если пользователь загружает) и это другая таблица, чтобы потом можно было картинки в галерее отображать. Пятый запрос - добавление данных об аудио файлах, опять же, другая таблица, чтобы удобно было выдергивать данные о файлах, независимо от чата. Т.к. чат нацелен на обмен музыкой и картинками, то 5 запросов в БД происходят очень часто. Нормально ли это? По сути, все запросы самые обычные, ничего сложного в них нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 16:28:06
|
|||
|---|---|---|---|
Я горе-программист или можество запросов в БД |
|||
|
#18+
рекорд который я знаю это 10 тыщ запросов в секунду на ядро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 16:28:36
|
|||
|---|---|---|---|
Я горе-программист или можество запросов в БД |
|||
|
#18+
да хоть бы и сто зппросов, что ему будет? он же mysql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 16:39:21
|
|||
|---|---|---|---|
Я горе-программист или можество запросов в БД |
|||
|
#18+
iwannarunawayПервый запрос - проверка существования пользователя Второй запрос - получения ID последнего сообщенияЭто делается одним запросом. Код: sql 1. Если юзера нет - вернётся пустой набор записей, иначе непустой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 17:09:25
|
|||
|---|---|---|---|
|
|||
Я горе-программист или можество запросов в БД |
|||
|
#18+
Akina, Нет, так не получится, в процессе проверки существования пользователя нужно кое-какие данные оттуда достать, которые в процессе обработки кода пригодятся. А вообще, на прктике, это нормально? Ну столько запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 17:12:13
|
|||
|---|---|---|---|
|
|||
Я горе-программист или можество запросов в БД |
|||
|
#18+
bochkov, Я не совсем понял, что вы под этим имеете в виду. Вообще столько запросов приемлемо для нормального проекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 17:12:43
|
|||
|---|---|---|---|
|
|||
Я горе-программист или можество запросов в БД |
|||
|
#18+
ScareCrow, А мой рекорд приемлем?))) Это вообще нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 17:13:46
|
|||
|---|---|---|---|
Я горе-программист или можество запросов в БД |
|||
|
#18+
iwannarunaway, не задумывайтесь. Все нормальное. Есть выгодное и невыгодное. как будет тормозить - вам скажут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2015, 17:17:20
|
|||
|---|---|---|---|
Я горе-программист или можество запросов в БД |
|||
|
#18+
Ну так и доставай нужные данные по юзеру в этом запросе. Просто если тебе нужно САМОЕ последнее сообщение, а не последнее сообщение этого юзера - вместо таблицы Messages используй подзапрос из неё с ORDER BY DateTime DESC LIMIT 1. Если юзера нет - будет пустой набор, если он есть, будет одна запись, со всеми нужными на него данными, причём если последний месс не его - в полях из таблицы сообщений будет NULL, а если его - то данные по этому сообщению. Не, если скриптовый сервер и сервер БД на одном хосте - можно и два запроса, а если там сетевой трансфер, лучше уменьшить их количество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1833625]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 334ms |

| 0 / 0 |
