Вы пишете так, как будто вложенный цикл, это что-то плохое :)
а час до выступления ни с кем не разговаривайте, сидите тихо и читайте текстовый документ, с помощью которого вы готовили слайды.
Опять же, всё индивидуально, но есть ещё один, самый древний совет в этом плане, из Библии: «Творец „почил в день седьмый от всех дел Своих, которые делал“, и „благословил Бог седьмый день, и осветил его, ибо в оный почил от всех дел Своих, которые Бог творил и созидал“», т.е. шесть дней, он создавал мир, а на седьмой отдохнул :) то же самое и с презентацией, если хорошо подготовился, в последний день хорошо бы отдохнуть от создания презентации и демок. © аналогия, не моя, услышал её у Радислава Гандапаса
«Умом нужно отличаться» ©, а не нестандартными шаблонами слайдов :)
Всё относительно. Любой совет по публичному выступлению нужно примерять на себя. Профессор за кафедрой на научной конференции будет смотреться солидно с пачкой листов А4, а хипстер на IT конференции — наврядли (или наоборот, будет смотреться необычно?). Кому-то ненравится что лектор читает с листочка, кому-то наоборот покажется что информация (и в частности цифры) подаётся без искажения, и листочки вызовут больше доверия. Самый большой минус бумажки для докладчика — жёсткая привязка к написанному тексту, но.. Может это и не минус? Или не такой минус как нам может казаться?
Материалы всех докладов конференции SQLSaturday Kyiv опубликованы на сайте: www.sqlsaturday.com/...
К сожалению нет. Презентацию и скрипты демо выложили в группу — www.facebook.com/groups/kssug
Супер! :) SQLSaturday Kyiv попадает под эту категорию? не .Net, но многие .Net разработчики её любят :) www.sqlsaturday.com/...
а где можно взять ваши крутые наклейки с котиками? :)
Построение multi-tenant приложения (кто подскажет, как правильно перевести?)«Построение мультитенантного приложения» :) лучшего перевода на сегодня нет.
Да я бы с удовольтвием, но сильно разбираться в вашем коде неохота. Во-первых его с ходу не запустить, упадёт ошибка, ну то ладно, сделал поле NOT NULL и пошёл дальше. потом мне надо ещё консольку запустить (только код посмотрел), и сиди гадай что у вас там в ресурсах за текст запроса прописан :) Было бы хорошо видеть тест такого вида:
1) Создание структуры данных в базе
2) Выполнение запроса (его скорость меряем и сравниваем, а не 100500 заполнений таблиц и непонятно чего). И из его текста сразу понятно что он делает и какую ценность несёт.
3) Лучше без консолек, чтобы сразу было в студии видно время, как в другом вашем примере.
Но, это если вы хотите фидбек от сообщества собрать. Если просто попиариться, то наверное это неважно. Удачи вам с разработкой и продвижением продукта.
Много способов. Например не использовать рекусивный запрос для выборки по иерархии Parent-Child, а сразу хранить иерархию в виде HierarchyID (SQL Server 2008 и выше) или Materialized Path (все версии SQL Server).
MSSQL данные тоже читает из памяти. С диска данные читаются, как и в любой другой базе, только при первом чтении. Для этого теста (если его запустить впервые) первый цакл поднимет всё в память, 9999 последующих будут работать только с память. Но то я так, придираюсь :)
Приходите к нам на следующую встречу сообщества — www.facebook.com/groups/kssug, а после встречи идите с нами на пиво :) там коллеги поделятся опытом что и как. Может даже вакансия у кого в компании будет.
Сравнение с MS SQL грубоватое :) Не совсем корректно делать такое сравнение. Цитирую ваш тест для MS SQL:
—OUR TEST ============================================================================declare @sum int
set @sum = 0declare @i int
set @i = 0while(@i < 10000)
begin
SELECT @sum = @sum + count(*)
FROM Company c
INNER JOIN Employee e ON c.ID = e.CompanyID
INNER JOIN Child h ON e.ID = h.EmployeeID
WHERE c.Country = ’UK’
AND e.Age = 25
AND h.Age = 5set @i = @i + 1
endselect @sum
Сам запрос — бесполезен, но это ладно, рассмотрим технические детали. Штука в том, что MS SQL для итеративного выполнения не предназначен :) Если кому и придётся что-то такое написать, то напишется что-то типа такого:
declare @initial_sum intdeclare @sum int
set @sum = 0declare @i int
set @i = 0SELECT @initial_sum = count(*)
FROM Company c
INNER JOIN Employee e ON c.ID = e.CompanyID
INNER JOIN Child h ON e.ID = h.EmployeeID
WHERE c.Country = ’UK’
AND e.Age = 25
AND h.Age = 5while(@i < 10000)
begin
SELECT @sum += @initial_sumset @i = @i + 1
endselect @sum
Весь запрос выполняется 1.8 секунд, причём сам SQL запрос, который инициализирует переменную — 0.001 сек., остальное — накладные расходы на бесполезный цикл.
Спасибо за конспект. Прекрасная возможность сделать recall после курса.
Перечитай вопрос топика, там всё сказано. Я не про себя спрашиваю.
Спасибо всем за отзывы! Особенно за те, которые без троллинга :) (хотя троллинг тоже был зачётный, посмеялся :))
Но но, не передёргивай. Смешного здесь как раз мало. Я реальный вопрос задаю по конкретной ситуации, а не про Правый Сектор и визитку Яроша. я живу в Украине и примерно в курсе ситуации. Но, есть люди, которые живут не здесь, и которые вообще не в курсе приходили к ним из военкомата, не приходили, хотят им вручить повестку, не хотят.. Понимаешь? Или ещё попробуешь остроумно потроллить?
У меня один друг php разработчик тоже так шутил :) Говорил нравится, прикольно так, всем смешно, военкомат ничего не имеет права сделать. Потом его мобилизовали конечно..
Особенно если до этого на VS писал. Заходит лучше чем альтернативные варианты.