Не всегда. Многопроцессорные бытовые серваки появились лет 15 назад. Еще более ранее операционки и пркладухи были кастомизированы под задачу, решаемую сервером. Соответсвенно и подобные задачи стали решать относительно недавно. Я думаю, что просто руки еще не дошли. Хотя конечно х.з. ---------- Сообщение добавлено 31.08.2010 13:46 ---------- Помнится лет так 15 назад, ты другие вещи говорил. в золотые времена опенфлейма.
как раз под кастомизированные прикладухи. И вот уже 15 лет руки все "доходят", с переменным успехом. Лучше даже сказать, что круг охваченных прикладух ширится. думалка сама по себе ничего не скажет если сравнивать не с чем. а что бы сравнивать нужно знать (читать книжки хотя бы).
А это отсуствие нормального классического образования, на самом деле. Гениев без образования и не севших на это - единицы. Понимаешь, ты знаешь, что эти алгоритмыы существуют. И если тебе придется писать софт, например рисующий топологию безразмерной вычислительной сети, ты о них вспомнишь и прочитаешь. А думалка да.. Нужна и с книгами... Я все время вспоминаю одного разработчика БД. Я у него спрашиваю, "ты чего так криво спроектировал, оно же тормозить будет, и вообще хранение неоптимальное?" - "Ээээ", говорит, "вот эта таблица будет расти на 5 записей в сутки, а эта - на 25 тысяч. чуешь?". Вобщем, да, книги могут и не помочь.
Честно говоря, совершенно не помню, что там говорил 15 лет назад, даже самому интересно. Вот помню, мы с AlTk, как раз 15 лет участвовали в одном большом и безнадежном проекте, это было замечательное время. Я сталкивался на работе с человеком который писал на MSSQL одну корпоративную базу, у него там были хранимые процедуры размером со среднюю повесть - всякие временные таблицы, подзапросы, и вобщем все работало как надо, но медленно. Я вообще тогда про SQL больше select'a не знал, но когда пришлось вникать в это дело, мне сразу не понравилась скорость. Оказалось, что никаких индексов кроме автоинкрементов базе вообще нет. Работали с этой прогой в основном бухгалтера, после многоэкранных экзелей которые заменила эта прога подождать 10 минут пока выполняется отчет им было не сильно в тягость. И автора тоже скорость не сильно волновала.
не. оптимизация данных это реструктуризация БД/таблиц, но и то, это несколько неверное применительно к РСУБД. народ просто смотрит на optimization plan, index usage, "косты" физические/виртуальные и видит, где и что тормозит, а потом переделывает запросы и/или индексы.
надо порыться в сдюковой помойке. точно помню, что когда менял машину, как-то архивы нарезал на болвань. а хорошее время было. почтать надо - хоть посмотреть что я думал в то время точно помню, что было делфи и фрибздя. слюникс тогда вообще за операционку никто не воспринимал. полуось и то в большем фаворе была. и Ротор за чемпионство бился. тьфу блин. аж слеза навернулась.
это и есть "интерфейс" к sql серверу, системный программист на то и системный, чтобы залезть в реализацию алгоритма индексирования внутри sql сервера и пошаманить там, а тот кто использует эту систему индексирования такой "плохой программист" согласно словам Caps так собственно вопрос - а каким образом я могу повлиять на скорость алгоритма Order by? видимо только переписать его код самостоятельно, но мне это совершенно непозволительно вы там шутили по поводу "а им и 300 в час рублей мало", я пояснил почему мало, для чего надо зарабатывать 300 и более в час - чтобы позволить себе купить квартиру в нашем славном городе
на сервере - никак, кроме архитектуры. а что, на каждую прорисовку грида надо новый запрос делать? а на гриде и переписать можно. ну-ну. и причем тут системный пограммист? мы так дойдем до того что любую хранилку системным программированием обзывать будем. но, "залезть в реализацию алгоритма внутри сервера" это само по себе сильно.
Как емко. А между тем он по сути прав. Метод сортировки каким был таким и остался. Все предложенные оптимизации работают уже "поверх" с использованием профилирующих инструментов.
вот об этом написано в руководстве программиста, просто не все читают... http://www.sql-server-performance.com/articles/dba/physical_join_operators_hash_p1.aspx http://www.sql-server-performance.com/articles/dba/physical_join_operators_merge_p1.aspx
Caps, просто надо определиться: программист - это который , сюда так же по сути относиться и или программист - это который залезет в реализацию системы индексирования в сервере базы данных найдет там тормоза и перепишет по новой и будет работать в 20 раз быстрее (утрирую) каждый по своему программист, дело в системе координат )) первому не нужно знать как там order by работает и в какой последовательности обращается к секторам жесткого диска, он просто его использует в рамках некоторых ограничений, которые как уже подметили описаны в документации, а вот второй - он да, знает гораздо больше по этому вопросу
HorstWessel, первый вариант: select t1.name from t1 hash join t2 on t1.id=t2.id второй вариант select t1.name from t1 merge join t2 on t1.id=t2.id
по-моему, так и оба не программисты. первый - точно не программист. так скоро дойдет до того что написание bat файлов программированием станет.
Почему бы и нет, если файл решает задачу. Я видел батники строк на 300, которые связывают утилиты. Сам писал на sh программы, которые на том же C были бы строк на 1000 минимум. Вашу точку зрения "программист = изобретатель-романтик" считаю глупой.
Поддерживаю. Можно провести аналогию с фундаментальной и прикладной наукой. Вы, Caps, в таком случае считаете, что прикладник - это не ученый вовсе, а так, в бирюльки играется. А вот тот кто фундаментальной наукой занимается - ученый.
The Last Winged, Hermes, Вопросов больше не имею, наладчик станка с ЧПУ тоже программист. А еще я сегодня программу стирки в машинке программировал. Но, позволю себе остаться при своем мнении.
Caps, как я понял, угадал смысл вашего понимания слова "программист"? Я впринципе согласен с тем, что изобретатель-романтик - это программист, но не только он. Есть еще практики. И вместо Кнута я читал Фаулера, Макконела, Спольски и прочих. И в моей области не нужны хитрожопые алгоритмы: я не в геймдеве работаю.
Эти книги скорее о разработке. А не о программировании. Не одно и тоже. Когда дело касается семантики языка, как правило, программирование заканчивается. Ибо программирование строго говоря не привязывается ни к одному из языков, алгоритмы могут реализовываться множеством способов. Программировать можно не зная ни одного из языков. Разрабатывать - вряд ли. И наоборот, разрабатывать можно нифига не имея представления о программировании. Как пример - BO или еще какой продвинутый генератор отчетов. ---------- Сообщение добавлено 31.08.2010 22:34 ---------- Бряхня. Ты его установил. А вот я в машинке, поменял количество оборотов, включил функцию "использовать пятновыводитель" и снизил на 10 градусов температуру. Таким образом "программа стирки" изменилась. Стал быть я программист.
ой не удержался xxx: Ржака была в банке вчера. Дефачка спрашивает, кем я работаю, я говорю – техническое обслуживание вычислительной техники, она такая вслух говоря и записывая – ПРОГРАММИСТ. Я говорю, нет, я не программист. Она так сильно удивилась, я думал брови навсегда останутся на затылке – А КТО? Я грю – программист пишет программы, а я настраиваю технику. Она такая, аааааа, просто мы в простонародье вас так называем. xxx: Я хотел ей рассказать притчу про глазнюка и пиздюка, но не стал.
Нет. Я именно запрограммировал (так написано в инструкции). А установкой там называется нажатие на кнопку "Timer",чтобы он начал записывать то, что я запрограммировал. (Аналог команды "RUN" в Бейсике). PS: Пока читал инструкцию по программированию, столько нового узнал. Я тоже когда-то работал программистом. Хотя эта должность к программированию не имела никакого отношения.
The Last Winged, Hermes, мне кажется, вы просто не понимаете кто такой инженер-программист. и вот эта фраза служит подтверждением. это ремесленный подход. хотя нет, это даже не ремесленный. ремесло подразумевает наставничество. это просто подход недоучек или ограниченных людей. ---------- Сообщение добавлено 01.09.2010 07:24 ---------- и дело не в "хитрожопых" (С) алгоритмах. в авторазделе полно людей, которые ездят на автомобиле, но они не водители в настоящем понимании этого слова. у них такой же подход, как и у вас: - то есть я же доезжаю из пункта А в пункт В.
ну, пусть второй оказался лучше первого, но оба дерьмо. дальнейшие действия? ---------- Сообщение добавлено 01.09.2010 07:38 ---------- и какое же настоящее понимание этого слова? непонятна аналогия ---------- Сообщение добавлено 01.09.2010 07:42 ---------- В чем разница-то? в контексте ИТ
в конкретном приведенном примере нужно проверить индексы и ограничить выборку условием where, то есть мы изменяем процесс получения данных. а может надо денормализованную расчетную таблицу вставить для ускорения. ---------- Сообщение добавлено 01.09.2010 08:34 ---------- мне кажется, что Вы поняли о чем я говорю. сам себя я считаю не очень хорошим водителем.
каким образом изменился процесс получения данных? может тупо изменилось количество записей, участвующих в объединении? кто и когда будет ее считать? совсем нет. это вообще об профессиональных водителях идет речь или о всех передвиженцах на а/м? готовы добровольно сдать свое ВУ?