Просмотр полной версии : как лучше вывести данные
root@localhost:~#
29.06.2022, 17:15
есть функция которая выводит инвентарь персонажа, и 2 варианта реализации функции
в первом случае имена предметов берутся из второй таблицы (подключается через LEFT JOIN), во втором варианте все данные берутся из одной таблицы, а id предметов сопоставляются с именами из большого массива с предметами (около 10к итемов).
вопрос какой вариант будет более правильным?
Desquire
29.06.2022, 19:30
Зависит от того, от куда у тебя данньіе в массиве, и как тьі делаешь джоин.
В принципе, база бьістрее чем пхп.
Но если сильно много джоинов, то запрос будет тяжельім, и может подлагивать сервер базьі.
Если говорить про тут, я бьі сделал через лефт джоин. как будто меньше костьілей.
Но если єто айтемьі предметов, то она разве не из патча?)
есть функция которая выводит инвентарь персонажа, и 2 варианта реализации функции
в первом случае имена предметов берутся из второй таблицы (подключается через LEFT JOIN), во втором варианте все данные берутся из одной таблицы, а id предметов сопоставляются с именами из большого массива с предметами (около 10к итемов).
вопрос какой вариант будет более правильным?
Лучше всего там где есть индексы. Если 1 таблица, и можно создать грамотные индексы, то флаг в руки ). А ещё лучше дай пример запроса
root@localhost:~#
29.06.2022, 21:01
Зависит от того, от куда у тебя данньіе в массиве, и как тьі делаешь джоин.
В принципе, база бьістрее чем пхп.
Но если сильно много джоинов, то запрос будет тяжельім, и может подлагивать сервер базьі.
Если говорить про тут, я бьі сделал через лефт джоин. как будто меньше костьілей.
Но если єто айтемьі предметов, то она разве не из патча?)
массив в отдельном файле)
прям вот так и выглядит
массив в отдельном файле)
прям вот так и выглядит
Нет условия в запросе какие должны бытЬ?
Desquire
30.06.2022, 11:49
если выводить из бд то нужен еще +1 LEFT JOIN
Но тут у тебя вьівод чаров, а не предметов)
root@localhost:~#
30.06.2022, 17:11
Но тут у тебя вьівод чаров, а не предметов)
ой ё, перегрелся)
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
Если индексьі есть, вообще проблем бьіть не должно.
Мьісли в слух:
А если кто-то зайдет на сайт и зажмет ф5?)
я думал об этом, мне еще в целом непонятно как можно защититься от флуда, по сути такие данные не кешируются, ибо они должны быть в личном кабинете и динамически обновляться
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot