|
|
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Chopтот же линк позволяет писать подобные системы "с высоким уровнем абстракции от реалий СУБД" кстати, с этого тема и началась :) как на счет оптимизации, отладки таких запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 19:46 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Voland_de_mortChopтот же линк позволяет писать подобные системы "с высоким уровнем абстракции от реалий СУБД" кстати, с этого тема и началась :)как на счет оптимизации, отладки таких запросов? мои знания линка ограничиваются прочтением двух глав в учебнике :) если же вспомнить опыт работы с 1С, то: ИМХО, в тех редких случаях, где критична чрезвычайная производительность, никто не мешает тебе писать прямой запрос и производить отладку/оптимизацию штатными средствами сервера БД после чего вставить в код в остальных случаях это не критично и некоторая возможная неоптимальнось сгенеренного системой запроса с лихвой перекрывается скоростью/удобством разработки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 19:57 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Voland_de_mortкак на счет оптимизации, отладки таких запросов?вот примерчик: 1С Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. http://www.mista.ru/tutor_1c/zapros.htm честно говоря, не знаю, что в этом запросе "робот" может напартачить при генерации SQL-а... если бы 1с работала с Advantage... я столкнулся с тем, что Advantage подзапрос выполняет существенно быстрее, чем джоин (не ожидал...) с-но можно было бы переписать SQL но зачем? Advantage привел, как астрактный пример, у MS SQL наверняка есть своим "приколы", да и 1с сейчас работает чуть ли не с любой БД и у каждой приколы свои ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 20:14 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
alexeyvgУ нас, например, были процедуры для отображения данных (они только выводили нужные данные, не делая фимльтрацию), а фильтрацию данных делали другие процедуры, передавая потом то, что нужно отобразить, первым процедурам. В процедуре фильтрации есть параметры типа сортировки, простраинчного вывода и т.п, которые просто напрямую передаются в процедуру обработки. Соответственно, клиент вызывает процедуру выборки с нужными фильтрами и в параметре указывает, какой вид отображения ему нужен (про этому критерию из этой процедуры вызывается соответствующая процедура отображения найденного результата). Ну и в крайнем, совсем запущенном случае, можно использовать динамический SQL. Это всё же лучьше, чем формировать SQL на клиенте. То есть в вашем примере с графом можно сделать 3 процедуры отображения графа с различными атрибутами, и 5 процедур фильтрации, с несколькими наборами параметров. И это покроет все варианты запросов к этим структурам данных жесть конечно. Хотя встречается, видел и не такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 21:48 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
iscrafm, не жесть, а кайф никакого интеллекта у приложении нету, а бедный пользватель должен знать назубок перечень процедур :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 21:57 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
ViPRosiscrafm, не жесть, а кайф никакого интеллекта у приложении нету, а бедный пользватель должен знать назубок перечень процедур :) Может и кайф, но список антипатернов пополняется. Хороший пример того, как не нужно делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 22:30 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
кажись опосля пифа я сформулировал пару-тройку мыслишек... в давно забытые времена, когда я был молодым и здоровым... я программировал на паскале с ассемблерными вставками потому что на 386-м даже с сопроцессором это было пусть не критичное, но существенное увеличение производительности также приходилось перед началом эксперимента архивировать 3.11-ю винду (со всеим приложениями), потому что места на винте не хватало, а переписывать на 5-тидюймовые дискеты... ни такого количества дискет не было, ни никаких гарантий, что оно перепишется назад , с-но копий надо больше, а дискет нет, да и время на копирование тудым-сюдым... мы и без этого раньше 2-х часов ночи с факультета не выходили :) также столкнулись с ограничением паскаля на количество строк - что-то около 30 000, какие там десятки-сотни тысяч записей, с которыми еще надо проводить какие-то нетривиальные действия?! простая запись, добавление новых, приходилось разбивать эксперимент на серию измерений в разных диапазонах столкнулись с тем, что наша самопальная АЦП-ЦАП иногда "теряет сигнал" - пришлось параллельно пускать синусоиду с осциллографа (благо плата была восьмиканальная) и значения в "потерянных диапазонах" интерполировать многа было всего интересного, славные были денечки в конце двадцатого века... :) /************* ключевые слова - "абстрагирование", "увеличение вычислительной мощности", "утолщение канала" итд итп /************* по факту, те же всякоразные ассемблеры были каким-то уровнем абстрагирования от ноликов/единичек и состояния полупроводниковых (ламповых?) триггеров наверняка, если чел при достаточном уровне подготовке будет сам решать в какой сектор винта записать 0/1, то сделает он это лучше, оптимальней, чем операционка как в общем случае, так и, тем более, в случае, если он знает конкретику, какие данные он использует чаще, какие реже итп. "традиционные" языки программирования - еще один уровень еще бОльшего абстрагирования SQL - еще один уровень абстрагирования чем дальше, тем больше рутинные операции возлагаются "на железяку/компутер" пусть железяка не самым оптимальным образом решает поставленную задачу, но она ее решает человек в такой ситуации может и не решить, просто утонет в объемах данных/условий если удариться в абсолютное утрирование, то когда прогу ставится задача "о беспечить автоматическую проводку документа по такому-то счету" , а он начинает ее с решения вопроса " куда на винте писать 0/1 ", то задачу он не решит давайте посмотрим на монстров и законодателей моды... 1с предлагает свою модель метаданных и свой язык программирования для работы с этими метаданными - программист работает с объектами типа Документ, Справочник итд не вникая, как его код преобразуется в SQL, ( и тем более не задумываясь, какими ноликами/единичками это все выглядит на винте, в памяти, в триггерах проца ) мелкомягкие предлагают линк, который позволяет создать свою модель метаданных и определить "язык программирования" для этой модели "команда php" в составе Zend-a предлагает набор классов, который тоже позволяет абстрагироваться от конкретной БД ИМХО, явно заметен тренд от "0/1" к объектам реального мира как сейчас никто даже не задумывается об том, что "если вставить ассемблерный код - программа будет работать быстрее", так вполне вероятно, к этому идет, через некоторое время никто не будет думать о том, чтобы вставить SQL-код в программу сейчас же (пока что) "ассемблерные вставки" дают некоторый, иногда незаменимый эффект сколько это продлится сказать трудно, но при возникновении такого вопроса сразу всплывает фраза "вычислительная мощность увеличивается... в стоко-то раз за каждый отчетный период" :) зы. при этом ес-но, задачи "размещение ноликов/единичек" и "создание SQL-запросов" - никто не отменял, и операционки кто-то пишет, и движки БД :) вот только это знание/программирование чем дальше, тем дальше от задач, которые решает прог-прикладник :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 23:45 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Chop...пришлось параллельно пускать синусоиду с осциллографа.... пардонте, очепятался... не с осциллографа,а с генератора, ес-но, который в том числе позволял генерировать и синусоидальный сигнал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 23:50 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Chop, пару раз перечитал, но смысл посылки не совсем понял. О чем она, в двух словах? смотрю "Письма с Иводзимы", может это какой-то отпечаток накладывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:06 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
iscrafmChop, пару раз перечитал, но смысл посылки не совсем понял. О чем она, в двух словах? :) цитата: как сейчас никто даже не задумывается об том, что "если вставить ассемблерный код - программа будет работать быстрее", так вполне вероятно, к этому идет, через некоторое время никто не будет думать о том, чтобы вставить SQL-код в программу сейчас же (пока что) "ассемблерные вставки" дают некоторый, иногда незаменимый эффект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:24 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Chop, спасибо, мысль понятна. Меньше букв и все однозначно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:27 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
за счет "железа" многое достигается. Скоро выпустят "SQL-процессоры" и об этом все забудут. Причем быстро... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:29 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
iscrafmменьше букв и все однозначно. я два часа пифо пил пока сформулировал а ты хтишь в двух словах и без восспоминаний о временах, когда деревья были большими? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:41 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Chop, ладно, перенесем типа серьезные темы. Успехов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:45 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
iscrafmладно, перенесем типа серьезные темы. Успехов :) и вам - на добранич у нас уже час ночи почти, пора спать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:47 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
OFF: Chop, какое пиво в Киеве предпочитаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:48 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Chopу нас уже час ночи почти, пора спать :) я сейчас в Киеве, и у нас почти 12. Но никак не час ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:49 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
iscrafmя сейчас в Киеве, и у нас почти 12. Но никак не час таки да, уже увидел, глюк винды - постоянно часы сбиваются в компе, не могу понять почему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 00:55 |
|
||
|
linq2sql vs хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Chopiscrafmя сейчас в Киеве, и у нас почти 12. Но никак не час таки да, уже увидел, глюк винды - постоянно часы сбиваются в компе, не могу понять почему :) часовой пояс стоит "масковский", наверна и "сихронизация с сервером времени Интернета" включена зы Zver ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 01:40 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37112715&tid=1542319]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 461ms |

| 0 / 0 |
