Ответы пользователя по тегу SQL
  • Можно ли "развернуть" таблицу sql?

    @niko83
    - с одной стороны ваша желаемая структра ближе к документно ориентировано БД чем реляционке (может с монгой какой поэксперементировать),
    - с другой стороны если это psql то можно использовать json field (версия 9.2, в 9.3 расширили эту функционаьность)
    - с третье стороны никто не мешает сразу писать в нужную структуру создав таблицу с 50-ю полями

    А простого и быстрого способа вот так взять и развернуть я не знаю. Сам с у довольствием послушаю ответ если он есть.
    Ответ написан
  • Что выбирать: SQL vs NoSQL?

    @niko83
    Допустима потеря данных до 2%

    Один из 50 insert'ов падает, и это приемлемо, я верно понял?

    БД (MySQL) при огромном количестве записей (ожидается более 20 млн записей) очень сильно начинает «тупить»

    Если структура данных вполне определена и поддаётся секционированию, возможно можно разбивать инфу по таблицам по месецам/неделям/ и др. ( смотря какой поиск будет производится)

    1. Хотите быть гибкими чтоб поменять редис-могно-sql, подумайте об абстракции, используйте шлюз между вызывающим кодом и хранилищем. ( в таком случае кеширующую прослойку можно легко внедрить при необходимости)
    2. Напишите тест генерирущий кучу предположительных запросов на чтение и на запись (если проект будет развиваться — пригодится)

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

    Большой поток инсертов можно решить буферизирование на клиенте, и вставлять кучу строк за одну зоманду — Хорошая оптимизация, подумайте, возможно в вашем случае это вполне приемлемо.

    Мне больше нравится как первичное хранилище реляционка, редис/монго и прочее как промежуточно хранение агрегированной инфы или для кеширование.
    Ответ написан
    Комментировать
  • Какие почитать статьи по повышению производительности баз данных?

    @niko83
    Мне понраивлась книга:
    MySQL. Оптимизация производительности. 2-е изд.
    Авторы: Шварц Б., Зайцев П., Ткаченко В., Заводны Дж., Ленц А., Бэллинг Д.
    Ответ написан
  • Защита от SQL инъекций

    @niko83
    Никак не соглашусь с вашей строкой «Думаю, что она делает объяснять не стоит».
    Мой комментарий может не совсем по теме вопроса, но всё же код прокомментирую: функция ужасна. Не смотря на то что в функции 10 строк, на входе она берёт 3 аргумента, имеются конструкции elseif, используются два вида кавычек в том числе такие штуки $_GET["$query"], три тернарных оператора

    Программа написанная в таком стиле вызывает ОЧЕНЬ большие трудности с её понимаем.

    кроме того
    строка $var1 = sql_guard('POST', 'input1'); вызовет ошибку.

    PS: читайте Макконнелла «Совершенный код»
    Ответ написан
    1 комментарий