Ответы пользователя по тегу PostgreSQL
  • Можете посоветовать книжку по проектированию баз данных?

    igruschkafox
    @igruschkafox
    Специалист по сопровождению БД MS SQL
    Сейчас буду ругаться :)

    1) Выбор СУБД, т.е. что в каких случаях выбирать
    Основываясь на своем опыте (22 - проекта) рекомендую так:
    СУБД это всего лишь инструмент
    - Если в организации есть хорошие специалисты которые могут эффективно работать на MS SQL знают все его возможности и понимают почему он так дорого стоит - тогда MS SQL
    - Если в организации есть хорошие специалисты Ораклы - тогда лучше ставить Ораклу
    - Если обрабатываются очень очень секретные данные - тогда тоже лучше что то отличное от MS SQL - например Ораклу (так как операционная система отличная от Виндовс) - но в большинстве компаний данные не представляют интерес для спецслужб :)

    2) Выбор подсистем субд
    - Было бы здорово понять что такое "Подсистема СУБД"

    3) Освещение моментов выбора индексов
    - Все зависит от запросов которые идут в базу, а так же от данных. На начальном этапе индексирования в MS SQL пригодится Помощьник по настройки ядра СУБД. Дальше уже надо исходить из анализа планов запросов (не обязательно всех, а хотя бы самых длительных). При этом надо учитывать что на тестовых данных будут оптимальны одни индексы, а через год эксплуатации имеющиеся индексы уже могут стать не самым лучшим способом поиска по таблицам .... это админить надо базу ...

    4) Может быть какие-нибудь паттерны проектирования
    - В моей компании только и делают что переучивают пришедших специалистов у которых в голове свои патерны! Честное слово - в институте такой Херни на вдалбливают в голову студентов что диву даешься (например: некоторые разработчики в каждой таблице вставляют поле идентети - хотя по нему поиск не производится,и еще на это же поле вешают кластерный индекс - "Мудацкое Российское Высшее Образование"(с))
    - Патерны Хорошо! Замечательно! Но универсальных способов нет!
    Ознакомится с ними стоит что бы не делать ошибок - но даже если сделали такую ошибку - то никто не мешает потом исправить :) разбить таблицу на несколько или объеденить пару таблиц в одну. Главное что бы апликушники (программисты клиентской части) пользовались принципами ООП (что бы сильно не переделывать код программы при изменении структуры базы)
    Ответ написан
    4 комментария
  • Удалить все, кроме * sql?

    igruschkafox
    @igruschkafox
    Специалист по сопровождению БД MS SQL
    Сначала проверте что вы будете удалять следующим запросом

    Select  *  from MyTable  where user_id = 21 and delete not like 'not'


    Если в результате запроса именно те строки которые хотите удалить - то удаляйте запросом
    Delete from MyTable  where user_id = 21 and delete not like 'not'
    Ответ написан
    Комментировать
  • Как оптимизаровать запрос в postgresql c фильтрацией и сортировкой?

    igruschkafox
    @igruschkafox
    Специалист по сопровождению БД MS SQL
    я бы попробовал следующий вариант

    если возможно то кластерным индексом отсортировать таблицу по - date ASC
    Но надо быть осторожным что бы не затормозить другие запросы (в которых может быть DESC сортировка по дате)
    и создать индекс по полю value

    и почему индекс (value, date) не работает?

    поиск то происходит по полю "value" а не по сочитанию полей
    поле "date" - используется только для сортировки результата, а не отбора --- Поэтому и не работает составной индекс
    Ответ написан
    4 комментария
  • Какие средства проектирования баз данных сейчас в тренде?

    igruschkafox
    @igruschkafox
    Специалист по сопровождению БД MS SQL
    (субъективно)
    VS +TFS
    Ответ написан