Ответы пользователя по тегу SQL
  • Что считается уровнем Advanced? И в каких "вещах" должен разбираться специаист, чтобы считаться сциалистом высокого уровня?

    Здравствуйте,

    не совсем понял ваш вопрос. Помоему вы решаете что-то между full-stack девелопером и уровнем квалификации.

    Фул стэк - это "умею всё", но есть ньюансы. Главное, что вы должны понимать, что для фул стэка ограничения тоже есть, но один принцип остаётся везде - это умение учиться и учить новые вещи.
    Не боятся проблем. Знание более чем одной технологии Вам позволяет решать больший спектр задач.

    Уровень квалификации, юниор, мид, сениор, тим лидер, итд... Это моё суждение:
    - юниоры в основном учатся читать код, писать код, и умеют решать задачи в среднем в 3 раза медленнее (сейчас это лишь грубое предположение). Их основная задача расти и становиться лучше.
    - миды - они, в основном "главная рабочяя сила", от которой ожидают уже результаты, они хооршо пишут код, они умеют читать код, но от них не не кладут ответственность за продукт, они должны решать технические задачи
    - сениоры - тут у все понимают их по разному. Но в моём понимании: ответственность за продукт, и качественное решение за разумный срок. От сениоров ожидается, что они будут задавать технологические направления, как продукт в конечном итоге будет вылядеть по технической стороне.
    - тим лиды - это не обязательно технологическая позиция, это скорее менеджер, который управляет тимой, расспределяет рабочие ресурсы, он эдакий мост между разработчиком и менеджментом.

    В мелких компаниях эти роли часто сливаются в одно целое и кладётся всё на одного-два человека.

    Отдельным пунктом стоит способность комуникации между людьми:
    - очень часто программист не может расти выше из-за неспособности договариваться с подчиненными, колегами или начальством. Это надо хорошо понимать и учиться общаться. :-)

    А теперь коротко про "хорошего" фул-стэк программиста:
    - нужен тупо опыт. Вы никогда не будете знать правильное решение без наработанного опыта.

    `Что умеет ас SQL в отличие от "среднячка"` - Он умеет выбрать правильную БД для проекта (для этого надо знать не только MySQL), он пониамет как база данных работает, умеет правильно создать структуру таблиц, он разбератся в функциональном программировании на уровне БД, он знает как решать медленные запросы в БД, он знает когда правильно использовать триггеры. Он должен знать как работает БД в корне, что такое join и знает разницу между hash join и block nested loop, он умеет дебажить проблемные ситуации, например deadlockи. итд...
    Ответ написан
    Комментировать
  • Есть ли простой способ обработать ситуацию 'DATABASE IS LOCKED' при обращении к SQLite из PHP?

    Стандардная ситуация, для много поточного приложения, не знаю на сколько это решило бы вашу проблему, так как в пхп я никогда семафорами не пользовался, но: www.php.net/manual/en/ref.sem.php. Или написать свой междупроцессный lock
    Ответ написан
    Комментировать
  • Порядковый номер из выборки SQL

    А Юнионы не пробовали?
    SELECT (
    SELECT * FROM table WHERE id = 1 ORDER BY… LIMIT 1
    UNION
    SELECT * FROM table WHERE id > 1 ORDER BY… LIMIT 1
    UNION
    SELECT * FROM table WHERE id < 1 ORDER BY… LIMIT 1
    ) ORDER BY…
    Ответ написан
  • Изменение структуры/группировка SELECT`ом

    Ну это просто через джоин и груп бай не сделать. ;-)
    Tакие вещи делаются примерно вот так:

    rows = db_cursor.query(«SELECT * FROM… ORDER BY name.»);

    # структура одного рядка
    #row_entry = {
    # 'name': None
    # 'home': None
    # 'mobile': None
    #}

    проходим все рядки из rows. Держим изменение «name». Как только изменится = новый элемент. Для каждого нового элемента делаем структуру row_entry.

    Далее такое можно сделать с помощю курсоров и процедурок в PL/SQL.
    Ответ написан
    Комментировать
  • Ошибка sqlite3 в php?

    А вы вообще соединение с базой данных закрываете? о_О
    Ответ написан
  • Oracle Spatial, запрос через database link

    Брейн шторм: Сделать функцию? Сделать VIEW? Всё на уровне БД…
    PS: Может всётаки «spatial index» и правда отсутствует?
    Ответ написан
  • Чем заменить медленный запрос с LIKE?

    Переделать эту грёбаную таблицу на две других (см. ответы выше) + поставить VIEW который не испортит логику программы.
    Вы BTREE индексы не забыли? Не знаю насколько это возможно в вашей системе.
    Ответ написан
    Комментировать
  • Обучение C# и T-SQL

    Бери работу, мучайся, работай, пахай, учись! Главное не бойся. Через 3 месяца увидишь, а если нет, тогда за следующие 3 месяца будет всё намного лучше ;-)
    Ответ написан
    Комментировать
  • Защита от SQL inj

    Говнокод детектед?
    Интересно, как будете сравнивать значения в PHP? Например Если Вам понадобится сравнить два стринга а один из них будет изменен уже через вашу функцию(mysql_real_escape_string).
    Эта функция должна вызыватся над стрингами непосредственно перед вложением в базу данных.
    И вообще, хватит использовать старый mysql! Используйте mysqli: cz.php.net/manual/en/mysqli.prepare.php! Познакомтесь с препаре стейтментами и ваш геморой уйдёт в прошлое.
    Ответ написан
    1 комментарий