@phpgeeks

Страница 8287 из 8430
Evgeniy
02.10.2018
05:45:07
или уменьшать его использования и оставлять где без этого не работает

ну или мириться с тормозами

исходя из уровней транзакций потом идешь читать про блокировки

у тебя какие то запросы блокируют ресурсы

Google
Igor
02.10.2018
05:46:09
Dead lock возникает уже)

Evgeniy
02.10.2018
05:46:10
и система ждет их освобождение

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

или продумай над тем как хранятся данные

Igor
02.10.2018
05:47:19
Ещё читал, что InnoDB без транзакций норм работает - миф?

Evgeniy
02.10.2018
05:47:52
ты понимаешь зачем используются транзакции ?)

как это хотя бы отдаленно работает и что такое блокировки ? уровни изоляции почитай мне кажется много нового для себя откроешь

Igor
02.10.2018
05:49:03
Я их начал использовать, хоть и не успешно, для того, чтобы предотвратить Race Condition, ибо на ресурсе работа с деньгами и воровство не нужно

И Race Condition действительно нет, только появились тормоза и Dead Lock)

Evgeniy
02.10.2018
05:50:14
ну попробуй их использовать там где идет списание денег

и почитай про то как делают списания денег и почему

и делай так чтобы как списание закончилось транзакция закрылась

Igor
02.10.2018
05:51:12
Попробовать Использовать только на списании, а с других мест убрать? Есть ещё начисление, где тоже бы желательно использовать

Google
Evgeniy
02.10.2018
05:51:34
да пусть начисляют сколько угодно имхо

главное чтобы в минус не уйти

Igor
02.10.2018
05:52:07
Если начислили больше - баланс стал больше, а значит могут увести больше, чем положено

Evgeniy
02.10.2018
05:52:12
и либо все операции по списанию делать в одном потоке, последовательно, например очередь с одним обработчиком тогда не будет race condition

но один обработчик работает медленно)

Igor
02.10.2018
05:52:44
Это да

Evgeniy
02.10.2018
05:53:01
можно делать обработчики так чтобы они не делали парельно операции одного юзера

и тогда обработчиков может быть больше

например

но это все костыли

можно делать списание через блокировку

в начале делается блокировка денег

если их достаточно потом списание

Igor
02.10.2018
05:56:14
Ну, у меня сейчас сделано так: ставлю на сессию ISOLATION LEVEL SERIALIZABLE, начинаю транзакцию, проверяю баланс, если достаточно, то пользователь выводит, если на достаточно, то отменяю транзакцию, если все вывелось, то COMMIT. SET SESSION ISOLATION LEVEL SERIALIZABLE смущает, должно это делаться по-другому, нет?

Evgeniy
02.10.2018
06:02:15
вообем читай изучай все сильно зависит от бд, если например это mysql то и от engine и прочих нюансов как прочитаешь в общих словах что такое транзакция, блокировки, изоляции, начинаешь читать про то как они устроенны в твоей бд и как себя поведут и сравнить со своими ожиданиями

Igor
02.10.2018
06:04:11
Ладно, тебе спасибо. Попробую пока убрать из лишних мест SERIALIZABLE, если будет безуспешно, то буду что-то предпринимать поконкретнее и

Piskovyi
02.10.2018
06:33:56
Выручайте братцы. У меня есть сервер и там на локалке крутиться бд. Мне нужно как-то подключиться к этой бд. Мне сказали пробросить тунель но вот опыта в таких действиях у меня . Может кто-то подсказать что-то?

Evgeniy
02.10.2018
06:44:04
ssh port forward же надо гуглить

Google
?
02.10.2018
06:46:03
и будут принципиально иные результаты?

Evgeniy
02.10.2018
06:51:20
конечно, более крутые по хипстерски

Игорь
02.10.2018
07:58:05
Фабрики классов применяются только когда есть большое колл-во классов одного типа и их нужно динамически создавать, или для массового производства одного класса тоже? Суть в том что у меня есть пара классов - источников, которые принимают url, html файл etc. и используются позже при работе с классами - обработчиками, которые их принимают и выдают нужные данные. Нужна возможность массового производства классов - источников из массивов (url например). Как это лучше сделать?

R0thschild
02.10.2018
09:23:15
Подскажите, как изменить текст коммита. Набираю git rebase -i HEAD~3, всплывает окно редактора, меняю в нем текст закрываю редактор. Пишу git log текст коммита тот же. Что не так делаю?

Andrew
02.10.2018
09:26:43
напротив коммита который хочешь переименовать нужно поставить r

и сохранить

тебе откроется еще раз редактор, там уже правишь коммит мессадж

Алексей
02.10.2018
09:45:24
Всем привет

Ed
02.10.2018
09:53:38
хахах, гениально

Subb98
02.10.2018
09:54:01
:D

Sergey
02.10.2018
09:54:25
????

Алексей
02.10.2018
09:54:28
хахах, гениально
опыт - он такой

Дмитрий
02.10.2018
10:12:24
Прошу помощи в безуспешных попытках понять что к чему. Есть сайт, на нём до какого-то момента всё было хорошо. Затем в какой-то неудачный день случился перенос сайта грубо говоря. И на этом сайте поехали стили как в админке, так и на клиентской части. Причина уже ясна, что стили просто напросто не могут загрузиться, так как нет доступа ко всем стилям которые лежат в папках .default . Кто в битриксе сталкивался с подобной проблемой? Как это можно решить?

Алихан
02.10.2018
10:14:18
Привет

Нужен совет

Дмитрий
02.10.2018
10:14:30
Как это сделать, если кратко не залезая в гугл?

Алихан
02.10.2018
10:14:49
Выполнять запросы к бд в цикле очень плохо?

Andrew
02.10.2018
10:14:58
никак. лезти в гугл и документацию по битрикс. какие там должны быть права доступа. и смотреть логи.

Выполнять запросы к бд в цикле очень плохо?
не очень круто. зачем? какой кейс?

Google
Дмитрий
02.10.2018
10:15:31
Ладно, попробую, спасибо

Andrew
02.10.2018
10:15:37
лучше в цикле набрать id в массив, а потом сделать where in если сильно нужно

Ладно, попробую, спасибо
здесь битрикс вообще такое себе спрашивать. и вообще им пользоваться тоже такое себе.

Дмитрий
02.10.2018
10:16:02
Ну задача такая

Admin
ERROR: S client not available

Дмитрий
02.10.2018
10:16:12
Сам бы рад был дропнуть его из моей жизни

Andrew
02.10.2018
10:16:32
ну так задачу надо решать, а не надеятся, что кто-то по хрустальному шару по бырику даст 100% решение, да еще и без гугла

что за люди

идею я дал, дальше только дебаг и логирование

Алихан
02.10.2018
10:16:49
не очень круто. зачем? какой кейс?
Просто у меня перебирается массив и нужно смотреть есть ли в бд записи похожие на те, что в массиве

Дмитрий
02.10.2018
10:16:52
Ну помощь то спросить всеравно можно) Ясное дело я буду задачу решать)

Так проще)

Andrew
02.10.2018
10:17:08
можешь мне тогда бабки отдать за задачу))

Дмитрий
02.10.2018
10:17:20
Но я ведь её ещё не решил)))

Andrew
02.10.2018
10:17:37
Но я ведь её ещё не решил)))
я могу решить за тебя. но бабки мне.

Дмитрий
02.10.2018
10:18:16
Да не, я думаю что откажусь :D

Andrew
02.10.2018
10:19:02
Просто у меня перебирается массив и нужно смотреть есть ли в бд записи похожие на те, что в массиве
ну зависит от многих условий. попробуй в цикле, и посмотри на производительность. нужно не забыть про индексы. если все-таки там миллиард записей в триллионной таблице, то лучше выбрать все, сложить в массив, спросить бд один раз через where in, а потом обработать резтат и уже на стороне пыха замапить, есть или нет. в любом случае и то и то нужно померять по производительности

с другой стороны where in по миллиарду тоже плохо

Алексей
02.10.2018
10:20:34
с другой стороны where in по миллиарду тоже плохо
У in есть ограничение на количество параметров. Если у него массивы сильно большие, то будет проблема.

Google
Andrew
02.10.2018
10:21:15
надо больше подробностей по задаче

массив тот можно все равно разбить и сделать 5 запросов, вместо 500 например

Алихан
02.10.2018
10:25:26
Не-не-не, нет там миллиарда записей

Сасный
02.10.2018
10:25:46
/ban

Combot
02.10.2018
10:25:48
/ban
You don't have permission to perform this action.

Алихан
02.10.2018
10:26:14
Есть доска объявлений osclass, а есть мой парсер, нужно данные из парсера вносить в бд доски

запросы делаются в разные таблицы т.к у этой доски бд построена так, что инфа хранится кусками в 100500 таблицах

Сасный
02.10.2018
10:33:00
Ну так и добавляй так же, в них же, либо перепиливай в одну

Алихан
02.10.2018
10:36:45
переделать не вариант

добавлять то ладно, но делать это нужно в цикле

Сначала мне нужно проверить, есть ли запись в бд, если ее нет записать

и это все в цикле

Dima
02.10.2018
11:17:17
Insert into ... values .... on duplicate не катит уже, отменили?

Nikitcat
02.10.2018
11:18:59
INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; katit

Страница 8287 из 8430