ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   как лучше вывести данные (https://forum.antichat.xyz/showthread.php?t=783931)

root@localhost:~# 29.06.2022 17:15

есть функция которая выводит инвентарь персонажа, и 2 варианта реализации функции

в первом случае имена предметов берутся из второй таблицы (подключается через LEFT JOIN), во втором варианте все данные берутся из одной таблицы, а id предметов сопоставляются с именами из большого массива с предметами (около 10к итемов).

вопрос какой вариант будет более правильным?

Desquire 29.06.2022 19:30

Зависит от того, от куда у тебя данньіе в массиве, и как тьі делаешь джоин.

В принципе, база бьістрее чем пхп.

Но если сильно много джоинов, то запрос будет тяжельім, и может подлагивать сервер базьі.

Если говорить про тут, я бьі сделал через лефт джоин. как будто меньше костьілей.

Но если єто айтемьі предметов, то она разве не из патча?)

Elrik 29.06.2022 20:35

Цитата:

Сообщение от root@localhost:~#

есть функция которая выводит инвентарь персонажа, и 2 варианта реализации функции
в первом случае имена предметов берутся из второй таблицы (подключается через LEFT JOIN), во втором варианте все данные берутся из одной таблицы, а id предметов сопоставляются с именами из большого массива с предметами (около 10к итемов).
вопрос какой вариант будет более правильным?

Лучше всего там где есть индексы. Если 1 таблица, и можно создать грамотные индексы, то флаг в руки ). А ещё лучше дай пример запроса

root@localhost:~# 29.06.2022 21:01

Цитата:

Сообщение от Desquire

Зависит от того, от куда у тебя данньіе в массиве, и как тьі делаешь джоин.
В принципе, база бьістрее чем пхп.
Но если сильно много джоинов, то запрос будет тяжельім, и может подлагивать сервер базьі.

Если говорить про тут, я бьі сделал через лефт джоин. как будто меньше костьілей.

Но если єто айтемьі предметов, то она разве не из патча?)

массив в отдельном файле)

прям вот так и выглядит

Elrik 29.06.2022 21:02

Цитата:

Сообщение от root@localhost:~#

массив в отдельном файле)
прям вот так и выглядит

Нет условия в запросе какие должны бытЬ?

Desquire 30.06.2022 11:49

Цитата:

Сообщение от root@localhost:~#

если выводить из бд то нужен еще +1 LEFT JOIN

Но тут у тебя вьівод чаров, а не предметов)

root@localhost:~# 30.06.2022 17:11

Цитата:

Сообщение от Desquire

Но тут у тебя вьівод чаров, а не предметов)

ой ё, перегрелся)

SQL:


Код:

$
sql
=
"SELECT `items`.`owner_id`, `items`.`item_type`, `items`.`amount`, `items`.`location`, `items`.`enchant`, `items_names`.`item_name` FROM `items` LEFT JOIN `items_names` ON `items`.`item_type` = `items_names`.`id` WHERE `owner_id` = '$objid' AND `location` = '$type'"
;


Desquire 30.06.2022 18:12

Если индексьі есть, вообще проблем бьіть не должно.

Мьісли в слух:

А если кто-то зайдет на сайт и зажмет ф5?)

root@localhost:~# 30.06.2022 18:22

Цитата:

Сообщение от Desquire

Если индексьі есть, вообще проблем бьіть не должно.

Мьісли в слух:
А если кто-то зайдет на сайт и зажмет ф5?)

я думал об этом, мне еще в целом непонятно как можно защититься от флуда, по сути такие данные не кешируются, ибо они должны быть в личном кабинете и динамически обновляться


Время: 05:12