Блог

Как повлиять на план выполнения запроса базы данных?

Очередной праздник для твоего мозга - вторая заметка про программирование. Хот эта была написана до статьи, которую я опубликовал недавно, но именно такой порядок чтения и публикации имеет больше смысла. 

Я как-то писал про существование подсказок компилятору в виде loop join, merge join или hash join, которые позволяют заставить SQL Server выбрать определённый план выполнения, об этом здесь - Подсказки оптимизатору MS SQL Serever. Я заметил, что не так уж и много народа знает о существовании этих подсказок, оно и к лучшему. В рабочем приложении нужно доверяться SQL Server ведь план выполнения может зависеть от количества данных, для малого количества лучше выполнить loop, а для большого merge. 

Допустим, что у тебя связывается две таблицы: 

Select *

From Table1 t1

 left join Table2 t2 on t1.key =t2.key

Where …..

Community Edition не может работать с SQL Server CE?

Сейчас пытался подключиться к SQL Server Compact Edition из Visual Studio Community Edition и с удивлением узнал, что это невозможно. Сначала я решил, что проблема в отсутствующем драйвере. Я пошёл и скачал последнюю версию SQL Server CE, но программа установщик сообщила, что у меня уже все установлено. 

Я погуглил и гугля сообщил, что можно установить драйвер через NuGet. Я попробовал установить этот пакет, но и после этого в VS не появилось возможности подключаться к CE версии базы данных. 

Что использовать, чтобы писать код?

Поступило предложение обсудить, кто и что использует для написание сайта php или C# ASP.NET ? Почему вы выбрали именно тот или иной инструмент?

Я уже говорил, что я долго использовал Notepad++ для написания .NET кода. Cейчас я работаю в компании, которая использует TFS, а он плохо видит, когда файлы изменяются за его пределами, поэтому пришлось перейти на VS, кажется 2013-го года. 

PHP код я давно пишу на Маке и под него долго не могу выбрать, что использовать. Я пробовал NetBeans, но он слишком тяжелый. TextWrangler - слишком прост и мало функционала. Brackets - неплохо, но не поддерживал нужный плагин, поэтому я решил попробовать Atom.

Последнее время я все больше пишу в Atom. В принципе, меня вполне эта срада устраивает, но все же далеко не идеальна. 

В принципе, в Windows я пишу только .NET сайты и там я все время использую VS, даже для написания JS, HTML и т.д. На маке я почти весь код пишу в Atom, только Swift и Objective-C пишу в XCode. 

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

Linux блять странный

Вот посмотрел я это видео, и не совсем понял, что они постоянно ржут. Аппарат кормления коров работает на Linux. И что? Заправочные станции работают на Linux - Ха, Ха, Ха. А что смешного? Увидели на экран ошибку? Не поняли, как подключать клавиатуру? Поржом еще раз. Что ржать, что там стоит Linux?

LINQ и производительность

Не знаю, насколько это вина LINQ, но я достаточно часто вижу код, когда программисты используют возможности LINQ далеко неэффективно. Хотя подобное я встречал в коде и без этой технологии. Даже те программисты, которые хорошо знают проблемы производительности, совершают подобные ошибки. 

Очень распространённая задача - работа с двумя массивами, просто нюансы бывают разные. Допустим, что есть два массива данных - пользователей сайта и их адреса. У вас есть все данные, просто нужно взять, и добавить адреса всем пользователям. Возможно помимо этого нужно выполнить что-то еще и в таких случаях я уже не раз видел код в виде: 

Assassin's Creed 2016 - фильм

Я с нового года 2-4 часа в неделю трачу на Assassin's Creed Syndicate. Это одна из немногих игр, в которую я влюбился. Я полностью прошел основную историю Black Flag, Unity, а в Syndicate я прохожу не только основную историю, но и практически все второстепенные битвы, собираю все подряд и просто гуляю вокруг. 

Трамвайчики в Портленде

Прибыл в Портлэнд на встречу с клиентом на выходных. Кто-то отдыхает, а я работаю. Вот такие тут трамваи. 

А в Торонто снег, а у вас?

А в Торонто 1-го мая выпал снег. Зеленая трава, снег, красота. А у вас? Жена вот фотку в фейсбуке у себя выставила, а я решил с народом поделиться. 

Вернулся из Портленда.

Вернулся из Портленда. Только здесь могли происходить события из сериала Гримм. Почему? Читаем в моей заметке в Курилке здесь. Ну а здесь только одна тематическая фотография магазина Apple. И вот такой большой магазин находиться в далеко не самом богатом городе из 600 тысяч человек. 

Оказывается сейчас проходит Google IO

Только что мои часы прожужжали мне сообщение, что оказывается началась Google I/O. А я как-то нигде в новостях ничего и не слышал о том, что это событие приближается. 

Если приближается какое-то событие Apple, то о нем жужжат почти каждое СМИ и почти все пытаютя предсказать, каким будет новый iPhone, iPad или будут ли представлены новые Apple Watch, которые не обновлялись уже достаточно долго. А тут была полная тишина на тех сайтах, где я обычно просматриваю новости. 

Я в основном смотрю синус, zdnet и просматриваю лучшие новости с Appy Geek, которые собирают почти все отовсюду. На мои Apple Watch сообщение о Google I/O как раз прислало приложение Appy Geek. 

Если будет время, нужно будет посмотреть. А ты будешь смотреть или хотя бы отслеживать это? 

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне