
Konstantin
04.07.2019
07:54:33

serg.crm
04.07.2019
07:55:35
т.е пергнать во float , а оптом обрезать до 1 знака после точки?

Konstantin
04.07.2019
07:56:55

serg.crm
04.07.2019
08:01:21
echo round("3", 1); //3.0

Google

serg.crm
04.07.2019
08:08:59
догнал. Пропустил мануал. number_format('3', 1); //3,0

Dmitry
04.07.2019
09:00:23
как думаете, чем черевато заменить insert ... on duplicate key update на два отдельных insert + update не обернутых в транзакцию

Алексей
04.07.2019
09:03:25

Dmitry
04.07.2019
09:04:20
опиши подробнее

Алексей
04.07.2019
09:06:04
В зависимости от структуры бд
Уникальный поле только id?

Dmitry
04.07.2019
09:07:40
нет, не только, праймари суррогатный, основной - уникальный составной

Алексей
04.07.2019
09:42:36
Ну что случиться если у тебя 2 инсерта с одинаковыми параметрами, которые должны быть разными
Плт пришла такая ситуевина в 1 момент

Dmitry
04.07.2019
09:50:15
и в чем проблема будет?

Алексей
04.07.2019
09:57:25
Скуль скажет ошибку

Dozvon
04.07.2019
09:57:50
Кто то пользовал эту библиотеку - https://github.com/TelegramBot/Api/ ?

Алексей
04.07.2019
09:57:52
Пойдет только тот, кто приехал первым

Google

Sergey
04.07.2019
10:38:25

Dmitry
04.07.2019
11:25:08
insert ignore + проверка сколько вставилось + update если 0

Алексей
04.07.2019
11:28:03
ну так insert ignore конечно
тогад получается 1 чел сделал инсерт, второй в этот момен тоже сделал такой же инсерт, они оба прошли валидацию, что нет такой записи, и добавился тот, кто первый попал в базу.. второй игнорится
получается первый пользователь даволен, система сделала что он хотел, второй сидит и тупит, потому что не может понять, это он не то что надо отправил, или система над ним решила поиздиваться

Dmitry
04.07.2019
11:29:08
нет никакой проверки, insert + rowCount

??????
04.07.2019
11:29:55
что мешает добавить промежуточный чек - мол 1 начал процесс добавления ... заходить в добавление можно если этот чек не отмечен

Алексей
04.07.2019
11:29:56

Dmitry
04.07.2019
11:30:24
а что по твоему делает insert ... on duplicate key update?

??????
04.07.2019
11:30:31
второй стучится а ему сразу ответ, извинте очередь занята

Алексей
04.07.2019
11:30:48
пытается вставить, если нет - обновляет строку
а не игнорит данные
2 разные вещи как бы

??????
04.07.2019
11:31:05
ну вот .. получается главное определить в чём приоритет ... меньше кода или норм бизнес процессы

Dmitry
04.07.2019
11:31:18
а что делает insert ignore + rowCount + update if rowCount==0?

Алексей
04.07.2019
11:32:02
бля...

??????
04.07.2019
11:32:12
сначала говно код и всё работает и затем уже оптимизация кода не в ущерб процессу

Алексей
04.07.2019
11:32:25
рассмотри крайние сценарии, когда твоя операция выполняется почти одновременно

Google

??????
04.07.2019
11:33:10
и чё
какие

Dmitry
04.07.2019
11:33:21

Алексей
04.07.2019
11:33:31

Dmitry
04.07.2019
11:33:42
что точно не просил, так это советов проанализировать крайние случаи ?

??????
04.07.2019
11:33:42
верно, для этого проверка

Алексей
04.07.2019
11:33:45
в каком порядке

Dmitry
04.07.2019
11:34:10

Алексей
04.07.2019
11:34:22
значит ты не можешь гарантировать какие данные попадут в итоге в бд
какие
ты в каждый момент работы системы должен гаранировано знать ее состояние - к примеру

??????
04.07.2019
11:36:46
зачем

Алексей
04.07.2019
11:36:58
иначе это не программа а нейросеть
хоторая хуй пойми как работает

??????
04.07.2019
11:37:12
фигня полная .. пока будешь собирать всё состояние провал по времени ...
1 действие 1 проверка
- входящие данные
- проверка условий
- запись
и промежуточные результаты ок или нет

Алексей
04.07.2019
11:39:11
зачем
затем что отстрелешь себе голову, когда наберется критический объем косяков...
ну. или тебе отстрелят

??????
04.07.2019
11:39:52
не стоит работать в стрессе, работы куча

Алексей
04.07.2019
11:40:31
точно.. на говнокодить и свалить
а потом через сберонлайн карты людей уводят.... .

Google

??????
04.07.2019
11:42:12
любое первое решение можно и нужно оптимизировать
что за перфекционизм, мир весь серый
если большой поток данных ... то наверное решение с базой для входищих и отдельной базой для результатов норм решение .. а между ними или служба или по крону проверка что пришло и какой результат .. и ничего не потеряется

Dmitry
04.07.2019
11:56:23
короче, у кого-то еще есть мысли по проблемам нарушения атомарности между insert и update при работе с insert - on duplicate key update
пока я вижу проблему, если пойдет I1 I2 U2 U1, т.е. перепутаются порядкти апдейтов, но с другой стороны при таком рейте мы все-равно не знаем верный порядок, было ли у нас IU1 а потом IU2 или наоброт.... еще?

Алексей
04.07.2019
12:17:25

Taras
04.07.2019
12:22:35
привет, я делаю csv-файл средствами php и получаю некоторые значения в строках с разным выравниванием, то слева то справа, подскажите, от чего это зависит?

Artem
04.07.2019
12:31:23

Taras
04.07.2019
12:32:18

??????
04.07.2019
12:35:32
выравнивание в csv никак не указывается ... программа видимо что то показывает в зависимости от данных

Artem
04.07.2019
12:36:08
Строка слева начинается, число справа.

??????
04.07.2019
12:36:10
111;222;333 - нет доп параметров, только данные, только хардкор )

Taras
04.07.2019
12:38:35

Dmitry
04.07.2019
12:52:00
но в целом да, если у меня единовременно приходят два вызова на один уникальный ключ - то все равно, какой из них окажется в базе в итоге, поскольку эта ситуация все-равно никакими блокировками не разруливается никак

??????
04.07.2019
13:35:09
не видите подвоха ... какие 2 запроса на уникальный ключ ... в чём его уникальность и зачем ?
базы же научились обрабатывать запросы и не закрываться пока 1 запись пишется ...

serg.crm
04.07.2019
14:05:27
Помогите вордпресс.
Не хватает гига памяти, чтобы запихать все заказы в архив. Че делать? Разбить не получается
Сам в шоке. Время исполнения оит 3600 сек и память вся доступна, а отрабатывать упорно не хочет

Maksim
04.07.2019
14:14:36
всем привет, может кто нибудь подкинет идейку. Есть в базе каталог товаров около 3 тыс позиций, есть отдельный микросервис парсер цен, который отдает цены для этих товаров, соответсвенно не все товары будут в наличии, необходимо мобилке отдавать пачками как это делается через sql - LIMIT 10 и при скролинге в мобилке запрашивал вторую и последующие страницы. Вся проблема в том что список товаров мы получаем а потом запрашиваем цены и из 3000 отсавляем только те у которых есть цены, как это пагинировать ?

Google

Алексей
04.07.2019
14:15:01

serg.crm
04.07.2019
14:15:26
В пхпini прописано и сервер отдает подтверждение

Maksim
04.07.2019
14:16:11

Алексей
04.07.2019
14:16:32
7z на сервер поставь и через него создавай архив

serg.crm
04.07.2019
14:17:36
А как определить, ему времени не хватает или места?

Алексей
04.07.2019
14:18:18
Посмотри за htop скок он кушает

serg.crm
04.07.2019
14:18:40
Угу

Dmitry
04.07.2019
14:20:22

??????
04.07.2019
14:22:19

Dmitry
04.07.2019
14:22:26
используй для вставки кода специальные сервисы и ссылку сюда

??????
04.07.2019
14:23:53

Maksim
04.07.2019
15:01:51

Dmitry
04.07.2019
15:03:03
where id > 444555 - ничего страшного не будет

Maksim
04.07.2019
15:04:03

Dmitry
04.07.2019
15:04:11
ну тут нюанс с сортировкой есть разве что

Maksim
04.07.2019
15:04:20
ну да по айди сортировка

Dmitry
04.07.2019
15:05:28
ну ты можешь целенаправленно получать на сервере 21 товар... отдавать клиенту 20 и флаг последней страницы (если у тебя не получилось получить на сервере 21 товар, а только 20 или меньше - страница последняя)

Maksim
04.07.2019
15:06:07