ФорумПрограммированиеПыхнуть хотите?Готовые решения → goDB — библиотека работы с MySQL

goDB — библиотека работы с MySQL

  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 15:29, спустя 25 минут 15 секунд

    vasa_c, немного внесу изменений в твоё сравнение с DBSimple
    $pattern = 'INSERT INTO …';			
    $db->query($pattern, $value1, $value2, …);

    В goDB одним аргументом в виде массива:
    $pattern = 'INSERT INTO …';
    $data = array($value1, $value2, …);
    $db->query($pattern, $data);


    В DBsimple можно абсолютно также можно постить массивами.
                    $core->database->select("
    UPDATE ?_docs_items
    SET ?a",$array);
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 15:31, спустя 1 минуту 32 секунды

    не, не совсем то, здесь массив вставляющийся вместо одного плейсхолдера, а у меня все данные для всех плейсхолдеров в виде одного массива.
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 15:35, спустя 3 минуты 52 секунды

    Отсутствие макроподстановки для меня критично, привык уже как в Smarty
    Спустя 115 сек.
    Кеширование, момент упустил тоже.
    Спустя 63 сек.
    Вопросы связанные с prepare … execute
    Спустя 32 сек.
    Логирование запросов
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 15:36, спустя 1 минуту 15 секунд

    Отсутствие макроподстановки для меня критично, привык уже как в Smarty

    Ну значит, DbSimple тебе больше подходит )
    Если не сложно - объясни всю соль, у Котерова малопонятные примеры.

    Кеширование, момент упустил тоже.

    Про кэширование сказал, что имхо, это задача не того слоя.
    Спустя 34 сек.
    Писал я там и про prepare и про логи )
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 15:37, спустя 1 минуту 16 секунд

    Про кэширование сказал, что имхо, это задача не того слоя.

    +1
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 15:41, спустя 4 минуты 25 секунд

    Ну например, я сейчас мало представляю как я буду переписывать свою мини-cms с мульти-языковой выборкой из таблиц, без макросов, можно обойтись и без них, но эт как напильником валить деревья, Не читаемые конструкции php + sql… фиии мерзость как представлю….
    Пример удобности макроподстановки поиск и выборка из базы с 50 критериями у которых есть дополнительные критерии в зависимости от входящего значения критерия.
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 15:43, спустя 1 минуту 16 секунд

    ну примеры, примеры давай )
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 15:51, спустя 8 минут 17 секунд

    Начну с простого запроса (кстати одна из возможностей DBSimple формирования древовидного результата, для подобной типовой операции):

            $tree = $core->database->select("
    SELECT
    *,
    id AS ARRAY_KEY,
    parent AS PARENT_KEY
    FROM ?_table
    { WHERE lang = ? }
    ORDER BY `position`
    ", (empty(CURRENT_LANG)? $config["site"]["locale"] : CURRENT_LANG));
    Спустя 60 сек.
    вместо $config["site"]["locale"] можно указать SKIP, который просто проигнорирует первую подстановку
    Спустя 186 сек.
    Усложним запрос:
    $tree = $core->database->select("
    SELECT
    *,
    id AS ARRAY_KEY,
    parent AS PARENT_KEY
    FROM ?_table
    {
    WHERE `lang` = ? { AND `tag` = ? }
    }
    ORDER BY `position`
    ",
    (empty(CURRENT_LANG)? $config["site"]["locale"] : CURRENT_LANG),
    (empty(TAG_VAR)? DBSIMPLE_SKIP : TAG_VAR)
    );
    Спустя 64 сек.
    Вложенность таких критериев можно быть бесконечной, без макроподстановки это был бы пиздец.
    Формировать каждый запрос с помощью условий, это был бы пиздец.
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 15:59, спустя 7 минут 33 секунды

    Ну вот одно нарекание у меня на DBSimple пока - SelectPage - разраб походу не тестировал с данными свыше 150к.
    P.S. извини, что подымаю его возможности в твоей теме, ну люблю я либу эту
    Спустя 91 сек.
    Имелось ввиду для тех кто в танке SelectPage как уверяет автор либы уверяет что отлично применять для постраничной навигации (наверно для данных до 1000)
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 16:07, спустя 8 минут 55 секунд

    Использовать SQL_CALC_FOUND_ROW это пиздец.
    Спустя 16 сек.
    Это в догонку к SelectPage
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 28 сентября 2010 г. 16:27, спустя 19 минут 45 секунд

    "SQL_CALC_FOUND_ROW" чем именно плох?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 28 сентября 2010 г. 16:30, спустя 3 минуты 2 секунды


    "SQL_CALC_FOUND_ROW" чем именно плох?

    не так давно на эту тему был замечательный срач. pydude там тоже был замечен
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 16:32, спустя 1 минуту 19 секунд

    adw0rd, а ты попробуй сделай выборку данных эдак так 150к :))))))))) а потом сравни тоже самое с 2-умя запросами один из которых COUNT(*).
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 28 сентября 2010 г. 16:32, спустя 33 секунды

    да, там в той теме тот же пиздюк, который пеарил свою цмс про жирафов в phar-архиве
  • pissflaps

    Сообщения: 148 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2010 г. 16:34, спустя 2 минуты 12 секунд

    Абырвалг, ыыыыыыыыы поверхностно пробежался по ссылке абрвалг, дуд там всё верно сказал.
    У меня эт в первый раз примерно так:
    "а чё чё я? я сам охуел!"

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