Akina, а вот и нет, скорость я тоже приветствую, а не только красоту и тип данных в таблице стараюсь подбирать. К сожалению конкретных примеров от вас не услышал. Погуглил и тоже ничего не нашел. Тип данных JSON ничем не отличается от текстового кроме проверки на корректность. Не факт, может ошибаюсь.
Василий Дёмин, не волнуйся, я и буду чинить. По факту ты летишь впереди ракеты, предлагаешь чинить уже сейчас, что пока и не сломано и никогда не ломалось и в PHP 8.2 работает как надо.
Дмитрий, я знаю, что в php новый ключ в именном array затрет такой же. Ну это даже не сказать, что логично, я просто представить не могу как может быть по другому. Как это выливается в сортировку не задумывался, но по факту результат сильно разный.
Дмитрий, страница в админке присылает $_POST - это изначально. Проект разросся. А потом разные мелкие скрипты могут еще что-то делать. Хотя конкретно это значение с парами ключей, где важна сортировка меняется только в админке.
Shavadrius, пока жить можно, карточка оффера меняется редко. Оптимизировать конечно надо будет со временем, но там скорее надо будет весь этот JSON раскидать в таблице грамотно. Я что-то не надеюсь, что mysql сильно лучше работает с json, может и ошибаюсь. JSON_REMOVE и прочее я использую потому что так код получается короче и красивее.
Shavadrius, это полностью самописный проект. На самом деле все просто, это карточка оффера, в ней в том числе поля с данными организации, они должны выводиться на сайтах по порядку. JSON_REMOVE даже не затрагивает эти поля, удаляет другие данные оффера, но поля все равно портятся.
Shavadrius, Есть страница в админке откуда порядок приходит уже через $_POST, так было сделано давно, в PHP все работало много лет. Сортировать не выгодно, лишнее место где надо будет застревать, к тому же там ключи на разных языках и могут добавляться.
Единственный нормальный вариант переделать страницу в админке, но тогда изменится сам JSON и надо будет править еще скрипты, которые надо еще вспомнить - пока идеально оставить на PHP.
PHP на ваш стандарт похоже наплевал, все кодируется и раскодируется с сохранением порядка ключей. Вам нужно понимать суть вопроса. А если вам важно и вы считаете в своих силах заниматься научением "как надо правильно" это делать без ненужных эпитетов.
В вашей информации как всегда мало пользы. Хотя если честно я узнал что-то новое про "тип данных JSON" и на том спасибо. И смысл этого типа ? Функции mysql работают на текстовом поле. Он как то иначе хранится и работает быстрее ?
Akina, угомонись, в комментариях уже и те все поняли, мне Lastor сказал JSON тут вычислительно дорого, а другой товарищ сказал, что без JSON глупо - я всем доволен. Общаться с тобой мне не хочется - ты такой же как второй товарищ долго запрягаешь потом просто так же ответишь.
Akina, вопрос решен - понимаешь ? Mysql стоит 8 или даже MariaDB на другом компе, доволен ? Вопроса тут не понял ты и потому "вздрючился" но я в том не виноват, ты уточнил я ответил - но ты остался недоволен уточнением, я не могу тебе в этом помочь.
Akina, тогда снова повторюсь ответ не имеет смысла, тем более уточняющие вопросы хрень, я уже понял максимум толковых советов, чем от Lastor я тут не получу, сейчас тебе версию MYSQL подавай - потом снова будет недоволен, а где версия убунты и тп
P.S. я же не олень северный - логика есть у тебя ? Весь софт на сервере обновляется периодически - поэтому догадывайся, что все свежее - если тебе это важно для решения.
Ипатьев,
Вот таблица - логины дублируются, но JSON разложен на ID и properties
А второй вариант записывается в одно поле весь JSON массив
Вопрос простой, а ответ хрен поймешь обо всем на свете по немного и не о чем одновременно.
Ипатьев, господи вот дурак, просто дедлоки в mysql реально достают и я пока не разобрался в них даже на 25% Чего пришел не одного полезного слова не написал в теме, бывшие заслуги что-ли требуют гадить в сети.
Ипатьев, Дурацкий вопрос уже решен. Отчаливай, спец. Догадливым тоже быть полезно, а придираться к каждому слову и дурачок может. Будет нужен сделаю - я не буду редактировать эти строки по ключу. Я понимаю с ним может быстрее удалять и делать UPDATE, или чтобы не было дедлоков, но в данном случае придется обойтись.