• Как правильно расставить индексы в БД?

    @Vampiro
    В общем случае, принципы построения индексов достаточно просты: индекс (кроме первичного) строится для ускорения запросов. Причем если есть WHERE по двум полям, то будет взят индекс, содержащий оба этих поля (если есть) и не важно сколько их там еще.

    Другими словами, один индекс по полям «A, B, C» будет более «полезен» для запроса, содержащего некие условия по полям A и B, чем два отдельных индекса по полям «A» и «B».

    Фактически, индексы A,B,C и A,C,D будут одинаковы в части поиска по полю «А». При поиске по полям А,B будет взят первый индекс. При поиске по полям A, C — второй.

    В своей работе лично я стараюсь не плодить излишних индексов. Ведь если запросы по полям В, С будут выполняться крайне редко, а сама таблица будет модифицироваться достаточно активно — то построение еще одного индекса принесет приложению больше вреда, чем пользы.

    Не бойтесь добавлять слово EXPLAN в тело запроса и смотрите какие индексы он использует. Порой оптимизатор использует fullscan даже при наличии индексов.
    Ответ написан
    Комментировать
  • Что приоритетнее для 1с?

    mickola
    @mickola
    Надо начинать с мониторинга ресурсов, а не бездумно переносить на разные raid, увеличивать ОП и т.д.
    Ответ написан
    2 комментария
  • Как взять часть файла?

    avalak
    @avalak
    Если нельзя загнать данные в базу, то могу предложить велосипед-костыль. Можно построить индекс (файл с парами смещение: длина, данные выровнять) и использовать его для доступа к строкам.
    Ответ написан
    5 комментариев
  • Реализация превью статьи?

    @Progrik
    Если не критичен размер БД, то 2, но без соединения (т.е. в первой ячейке анонс, во второй целиком статья).
    Если не критично время, которое требуется чтоб каждый раз дёрнуть нужные статьи из БД и порезать их пополам, то 3.

    Лично я использую 2й вариант и не чувствую угрызений совести.
    Ответ написан
    1 комментарий
  • Теперь и за комментарии нельзя с кармой меньше 15 голосовать?

    lsoul
    @lsoul
    Неожиданно - юрист
    Даешь карму не меньше 50 чтобы опубликовать пост! /sarkazm
    Ответ написан
    7 комментариев
  • В кластере ms sq 2008 r evolution to standart

    @PavelN
    1. Насколько я помню, Standard поддкрживает кластеризацию в 2 ноды
    2. Остановка в любом случае будет.
    3. Я вижу решение следующим:
    * установить новый экземпляр на тех же серверах, создать кластер
    * шаг за шагом перенести настройки master базы данных, msdb можно перенести бэкапом, если были изменения базы model — тоже бэкапом
    * базы данных перевести в режим Full Recovery model, если они в каком-то другом
    * выполнить резервное копирование нужных баз и востановить их на новом экземпляре в режиме norecovery (это нужно для минимизации времени остановки)
    * потушить решение
    * сделать диференциальный бекап баз или бэкап транзакционного лога. Востановить его на новом экземпляре.
    * потушить старый экземпляр сервера баз данных
    * перенастроить пути от вашего решения на новый сервер
    * запустить решение

    в этом случае простой будет небольшой. Минут за 15-20 простоя можно накатить резервную копию лога, поменять пути и запутить все.

    4. Можно еще использовать mirroring для минимаизации времени простоя и автоматического переключения, но это нужно предварительно протестировать.
    Ответ написан
    1 комментарий
  • Игры-тренажёры?

    dimamario
    @dimamario
    Portal :)
    "… Перед началом тестирования хотим вам напомнить, что, хотя основным принципом экспериментального центра является обучение в игровой форме, мы не гарантируем отсутствие увечий и травм..."
    а вообще, мышление и память очень хорошо развивают самые обычные шахматы, найдите старенькую книжку с задачками и потренируйтесь, мозги начинают работать намного лучше
    Ответ написан
    1 комментарий
  • Как хранить в БД поле «зарплата»?

    mekegi
    @mekegi
    Заведите для зарплат и надбавок две отдельные таблицы.
    Надбавки это премии или процент. Там структура очень простая.
    У надбавок и зарплат должна быть ссылка на сотрудника. (тк один человек может получать несколько зарплат и разных надбавок)
    В таблице с зарплатами храните минимальную и максимальную зарплату, тип валюты (рубли, доллары)
    тип самой зарплаты (от, до и пр)

    В самом коде я бы сделал BasePrice и отнаследовал бы от него IntervalPrice и тд
    Ответ написан
    Комментировать
  • Закон о защите информации?

    @ChemAli
    Заполняя анкету и внося в нее ПД, а после передавая ее кому-то, вы уже самостоятельно инициируете обработку ПД. В таком случае все ваши пометки про отказ не имеют смысла.

    Заключая договоры на оказание услуг, вы автоматически соглашаетесь на обработку ПД, так как без знания ПД вторая сторона договора не сможет его исполнять.
    Ответ написан
    Комментировать
  • Учебник по Сям (C, Си)

    sn4ke
    @sn4ke
    Есть ещё старенькое, но очень хорошо себя зарекомендовавшее пособие по Сям — Программирование на языке Си. В. В. Подбельский, С. С. Фомин.
    Для скорости — скачать можно тут: wmate.ru.
    Ответ написан
    Комментировать
  • Срочно нужен омский номер Мегафона. Помогите!

    @BenZeR
    Поищите ВКонтакте.
    Прям в поиске людей из Омска ищите и пишите им.
    Не думаю, что после часа поисков вы никого не найдете.
    Ответ написан
    Комментировать
  • Что вы делаете с проводами под столом?

    a3x
    @a3x
    Самый простой и дешевый способ все провода скрутить колечками и скрепить хомутами. И вот эти колечки привесить на гвозде к столу. Дешево и сердито и разбирать просто.
    Ответ написан
    2 комментария
  • Посоветуйте аналог "CLR via C#" Рихтера, но по MSSQL

    rasa
    @rasa
    Попробуйте ознакомиться с таким списком.
    Ответ написан
    Комментировать
  • Выбор железа для SQL сервера 1С

    @mobileDeveloper
    Недавно брали сервер, как раз под 1С.
    Как писали выше, используйте счётчики, необходимо мониторить загрузку по памяти, дискам, процессору, сетевым интерфейсом, обращению к файлу подкачки. Собирать информацию необходимо периодически, постоянно следить за изменением показателей — очень пригодится позже, для анализа и решения проблем с узкими местами.
    В вашем случае, с 0,5 Гб базой существующего сервера должно хватать.
    В случае значительного роста, необходимо продумать всё наперёд.
    В нашей организации, БД за 2 года выросла с 20 до 70 Гб, кол-во пользователей с 25 до 50 одновременно работающих.
    По опыту и показаниям счётчиков:
    — процессор значительно загружен бывает очень редко и врят ли будет узким местом, скажу только, что выбирать выгоднее один 4-х ядерный, вместо двух 2-х ядерных из-за схемы лицензирования MS SQL на процессор, если СУБД другая, то считайте сами, по деньгам;
    — сетевой интерфейс, бывает загружен значительно, но пока не являлся узким местом, 2-х гигабитных интерфейсов хватает;
    — памяти, тут как всегда её много не бывает, и сейчас она относительно недорога, плюс всё серверное ПО 64-bit (ОС, СУБД, УПП);
    — самый большой затык в дисковой подсистеме, наибольшая нагрузка на неё, поэтому при больших объёмах выбирайте самый быстрый тип RAID, не забывая про надёжность (у нас Raid 10). Как советуют выше, мы выбрали SSD — это достаточно дорого, кроме того, эти диски имеют свойство быстро умирать, поэтому обязательный запас, на случай выхода из строя, но эти диски дают в разы бОльшие скорости на операциях случайного чтения и записи, обгоняя любые НЖМД. Также не забываем разносить базы и логи на разные тома рейда, и помним про tempdb в MS SQL.

    При увеличении количества одновременно работающих пользователей, на первый план выйдет проблема блокировок на уровне таблиц БД. Вам наверное пока рано об этом думать.

    Советую почитать раз и два.
    Ответ написан
    3 комментария
  • Чем закэшировать MS SQL

    @ComodoHacker
    Я советую найти специалиста по MS SQL и разобраться, во что именно вы уперлись. На 80% уверен, что проблема решается на текущем железе либо с легким апгрейдом. Обычно возможности оптимизации базы и приложения очень большие, для первой попытки.
    Ответ написан
    Комментировать
  • Какую книгу лучше взять для изучения C#?

    Skiminok
    @Skiminok
    Лучший труд с полным введением в язык и его тонкости плюс использование написан Э. Троелсеном. На русском это «Язык программирования С# 2008 и платформа .NET 3.5».

    После изучения Троелсена в обязательном порядке читается культовая книга дотнетчиков: Джеффри Рихтер, «CLR via C#».

    А дальше уже надо ориентироваться по конкретным технологиям. Если интересует ASP.NET, то это Дино Эспозито, если WPF — Чарльз Петцольд. И так далее.
    Ответ написан
    3 комментария