Есть ли разница между list.elementAt (n) и list [n]

Я буду махать волшебной палочкой. Пуф! Золотые правила использования JSON:

  • Если MySQL не нужно искать внутри JSON, а для приложения просто нужен набор материалов, тогда JSON в порядке, возможно, даже лучше.
  • Если вы будете искать данные, находящиеся внутри и , у вас есть MariaDB 10.0.1 или MySQL 5.7 (с типом и функциями JSON), тогда JSON может быть практичным. «Dynamic» столбца MariaDB 5.3 является вариантом.
  • Если вы делаете вещи «Entity-Attribute-Value», то JSON не очень хорош, но это наименьшее из нескольких зол. http://mysql.rjweb.org/doc.php/eav
  • Для поиска по индексированному столбцу, не имея значения, заложенного внутри JSON, большой плюс.
  • Для поиска по диапазону в индексированном столбце или в поиске FULLTEXT или SPATIAL JSON не представляется возможным.
  • Для WHERE a=1 AND b=2 «составной» индекс INDEX(a,b) отлично; вероятно, не может приблизиться к JSON.
  • JSON хорошо работает с «разреженными» данными; INDEXing работает, но не так, с такими. (Я имею в виду значения, которые «отсутствуют» или NULL для многих строк.)
  • JSON может дать вам «массивы» и «деревья», не прибегая к дополнительным таблицам. Но выкачайте в такие массивы / деревья только в приложении, , а не в SQL.
  • JSON - это мир лучше, чем XML. (Мое мнение)
  • Если вы не хотите попасть в строку JSON, кроме приложения, я рекомендую сжать (в клиенте) его сохранение в BLOB. Подумайте об этом как .jpg - там есть материал, но SQL все равно.

Укажите ваше приложение; возможно, мы можем быть более конкретными.

1
задан nbloqs 20 March 2019 в 21:43
поделиться