Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Привет всем Конкретный вопрос для сравнения двух продуктов. В базе данных хранится текст. Мне нужно сделать разбивку текста по предложениям (для примера используем простейшие признаки окончания предложения - . ! ?) Поскольку в будущем разбивка на предложения будет гораздо сложнее и учитывать множество факторов (например пользователи сами смогут создавать правила на regular expressions), я отказался от написания процедуры на T-SQL и решил саму процедуру на C# или C++, а полученую откомпелированную функцию подключать к SQL 2005 как exteranal stroed procedure. Я полагаю, что такое взаимодействие TSQL и C# или C++ будет сильно напрягать SQL 2005. Насколько эффективно решение той же задачки на Oracle 10g ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 10:58 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Про CLR Integration в 2005-ом Вы таки ни разу не слышали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 11:23 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
у оракла regular expression можно использовать в SQL, т.е. с ораклом ничего кроме обычного SQL тебе не понадобится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 11:25 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!!у оракла regular expression можно использовать в SQL, т.е. с ораклом ничего кроме обычного SQL тебе не понадобится. Вот я тоже об этом думаю. Плюс у него есть поддержка ООП. А иногда это удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 11:30 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Iura Я полагаю, что такое взаимодействие TSQL и C# или C++ будет сильно напрягать SQL 2005. Полезно читать документацию, хотя бы иногда. Если сделаю с использованием C# процедуры, то должно работать быстрее чем аналогичный код в Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 11:59 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
andsm Полезно читать документацию, хотя бы иногда. Если сделаю с использованием C# процедуры, то должно работать быстрее чем аналогичный код в Oracle. ага C# быстрее нативного SQL :) че курим ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:03 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! andsm Полезно читать документацию, хотя бы иногда. Если сделаю с использованием C# процедуры, то должно работать быстрее чем аналогичный код в Oracle. ага C# быстрее нативного SQL :) че курим ? Тесты производительности, которые я делал для сравнения производительности C# и TSQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:05 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > Полезно читать документацию, хотя бы иногда. Если сделаю с > использованием C# процедуры, то должно работать быстрее чем аналогичный > код в Oracle. > > ага C# быстрее нативного SQL :) че курим ? ну... если сравнивать вроде как бы нативный бинарник, скомпиленный под нужную ось, с вроде как байт-кодом, исполняемым каким-то аппаратом исполнения (sql engine), то нативный бинарник должон быть быстрее. вроде как. не знаю как насчет проц в оракле, которые вроде как можно скомпилить в те-же самые нативные бинарники.... зы как показывает практика - компилированая прога как правило быстрее, чем интерпретируемая (коряво сказал, но общий смысел вроде ясен). -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:10 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
locky ну... если сравнивать вроде как бы нативный бинарник, скомпиленный под нужную ось, с вроде как байт-кодом, исполняемым каким-то аппаратом исполнения (sql engine), то нативный бинарник должон быть быстрее. вроде как. не знаю как насчет проц в оракле, которые вроде как можно скомпилить в те-же самые нативные бинарники.... зы как показывает практика - компилированая прога как правило быстрее, чем интерпретируемая (коряво сказал, но общий смысел вроде ясен). да не в этом дело. SQL запускается в другом контексте нежели CLI машина, т.е. неважно что там, но эти переключения никак не допустят исполнится быстрее чем только SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:18 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! locky ну... если сравнивать вроде как бы нативный бинарник, скомпиленный под нужную ось, с вроде как байт-кодом, исполняемым каким-то аппаратом исполнения (sql engine), то нативный бинарник должон быть быстрее. вроде как. не знаю как насчет проц в оракле, которые вроде как можно скомпилить в те-же самые нативные бинарники.... зы как показывает практика - компилированая прога как правило быстрее, чем интерпретируемая (коряво сказал, но общий смысел вроде ясен). да не в этом дело. SQL запускается в другом контексте нежели CLI машина, т.е. неважно что там, но эти переключения никак не допустят исполнится быстрее чем только SQL. спорное утверждение. Вы же не можете сказать, сколько "стоит" такое переключение, а также насколько сильный эффект оно окажет на работу всей программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:22 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > да не в этом дело. SQL запускается в другом контексте нежели CLI машина, > т.е. неважно что там, но эти переключения никак не допустят исполнится > быстрее чем только SQL. вопрос (встречный) - чо курим? Ви хотите сказать, что нечто вроде Код: plaintext 1. ой врядли.... попробуйте теорию практикой... урод эксперимент убьёт! красавицу теорию.... а ведь задача разбивки на предложения - это чистые циклы и сравнения. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:24 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
2locky я конечно понимаю твое жгучее желание поспорить, но давай сначала выясни что такое SQL ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:28 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
На самом деле в чем-то Yo!! прав. SQL запрос более вероятно выполнится быстрее чем код на C#. Только на эту проблему нужно смотреть несколько иначе IMHO. Давай те смотреть на на for i=1 to 100000 do; а на более серьезные вещи типа select'oв Задача поиска слона в африке Есси мы пишем ее на С# это будет Код: plaintext 1. 2. 3. 4. 5. 6. 7. Нужно разделять код на SQL и в Хранимой процедуре. Более того часто богатые возможности в хранимых процедурах приводят к тому, что люди начинают писать программы по работу с БД в процедурном стиле, что напрочь убивает производительность. Например (понятно что надумано, но такое часто бывает) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Код: plaintext 1. Причем если запрос с count(*) можно оптимизоваровать, строить разные индексы партиционировать таблицы по midinit, то во втором случае, максимум чего можно достигнуть это написать на C, чтобы сократить затраты на .NET или на интерпретатор. Понятно что если случаи когда более удобно пользоватся тем или иным подходом, но всегда нужно оценивать принимаемое решение. По мне проще и будет писать многокилобайтные запросы чем городить SP. Опять же будет зависить от конкретной ситуаци. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:59 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Поправочка Нет слона в конго идем в лимпопо, нет в лимопопо идем у уганднду, return слон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:01 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Я не могу понять, в чем спор. Если необходимо все это делать в БД, её средствами, выбирая из ее таблиц, что бы там не говорили, SQL будет работать быстрее, просто по тому, что в любом случае, будет выполняться SQL запрос: данные нужно выбрать затем обработать и положить "на место". Если говорить о Oracle, то вообще-то любой SQL будет превращен в исполняемый код, а не интерпретирован, хотя на самом деле все сложнее. Если данные запрос будет повторятся постоянно и он правильно написан, то компиляция его будет произведена только один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:07 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
to nkulikov бред! что мешает выполнить SELECT слон from африка из контекста CLR процедуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:16 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!!да не в этом дело. SQL запускается в другом контексте нежели CLI машина, т.е. неважно что там, но эти переключения никак не допустят исполнится быстрее чем только SQL. В SQL Server нет такой разницы между TSQL и SQL как между PL/SQL и SQL в Oracle. Я делал тесты чтобы проверить происходит ли переключение контекстов и сколько это переключение стоит. Результат - переключения контекстов отсутствует. Вызов ничего не делающей функции на C#, в цикле, 1000000 раз, происходит быстрее, примерно на 30%, чем вызов аналогичной функции на TSQL. Это означает что CLR integration сделана очень хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:31 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Even without CLR support, it is important to recognize that database applications should use the declarative query language as much as possible . This portion of the language is able to leverage the power of the query processor, which is best able to optimize and perform bulk operations. Database applications should only resort to procedural programming to express logic that cannot be expressed within the query language. All of this remains true with CLR support in SQL Server: the CLR should not be used to write procedural code that can be expressed using the declarative features of the T-SQL language. Developers should be aware that there are a number of significant enhancements to the T-SQL query language in SQL Server 2005 that augment the expressive power of the T-SQL query language, and should ensure that they are taking full advantage of them before writing procedural code, whether in the CLR or not. Some of these added features include: (C) MSDN ЗЫ. я смотрю МС тоже с трудом отличает декларативный SQL от процедурного расширения T-SQL :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:31 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
2хламист: хламист бред! что мешает выполнить SELECT слон from африка из контекста CLR процедуры? и это будет более производительно чем вызов запроса напрямую??? Ты хотябы понял идею того что я пытался объяснить. Перед тем как говорить бред не бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:40 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
andsm В SQL Server нет такой разницы между TSQL и SQL как между PL/SQL и SQL в Oracle. а вот МС с вами не согласен :) (см цитату с MSDN выше) andsm Я делал тесты чтобы проверить происходит ли переключение контекстов и сколько это переключение стоит. Результат - переключения контекстов отсутствует. Вызов ничего не делающей функции на C#, в цикле, 1000000 раз, происходит быстрее, примерно на 30%, чем вызов аналогичной функции на TSQL. Это означает что CLR integration сделана очень хорошо. непонял что тут мерялось, то что CLR откомпилировалось, а T-SQL еще не дорос до native compilation .. дык это итак было известно. Вот погоняйте рандомные данные (T-SQL vs CLR), а потом сравните с функцией чистого SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:40 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
nkulikov wrote: > Автор: nkulikov > На самом деле в чем-то Yo!! прав. > SQL запрос более вероятно выполнится быстрее чем код на C#. Только на > эту проблему нужно смотреть несколько иначе IMHO. > > Давай те смотреть на на for i=1 to 100000 do; а на более серьезные вещи > типа select'oв > > Задача поиска слона в африке > Есси мы пишем ее на С# это будет Может Yo! и прав, и может, правы и Вы, решая задачу поиска сферического коня в вакууме... однако исходный вопрос был "разбиение текста на предложения: T-SQL vs C#" может быть! есть декларативный язык который это умеет... но T-SQL явно не из из числа. поэтому моя имха такая: выделение предложений из текста при помощи внешней процы написанной на c# будет быстрее, чем при помощи процы на T-SQL, поскольку накладные расходы на "переключения контекста" для вызова C# с лихвой покроют относительную неторопливость исполнения T-SQL процедуры. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:42 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
кроме того, проведя (как сейчас вспомнил) некоторые изыскания.... выяснил: имелся некий набор UDF для манипуляций с датой и строками (обрезать время, собрать дату, получить первый-последний день месяца, преобразовать '1а' в '00000001а' для использования в сортировках и т.д.). Аналоги, реализованные на C# работали быстрее, чем T-SQL UDF. Происходило это (предположительно) за счет меньших накладных расходов при вызове C# UDF по сравнению с T-SQL UDF. Вот такая странность, внятного (для меня) объяснения не видел (особо и не искал). кроме того, выделение предложений - есть некая манипуляция с уже полученными данными, БЕЗ обращения к базе данных. И по определению - будет быстрее в виде бинарной реализации. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:50 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Ты прав locky. Но инициатору я бы рекомендовал не С#, а с/c++ так как в этом случае будет меньше вопросов с переносом кода с одной БД на другую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 13:56 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
2locky чтоб что-то доказать лучше напишите простенькую функцию upper() на t-sql и clr и сравните на мульонной табличке, а потом сравните с нативным SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 14:29 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
nkulikov wrote: > Ты прав locky. Но инициатору я бы рекомендовал не С#, а с/c++ так как в > этом случае будет меньше вопросов с переносом кода с одной БД на другую не... если на MS SQL - то уж лучше C#(это если юкон), потому как геммороя с ESP в 2000 - порядком :-(. Правда, был в свое время набор компонентов для дельфина, который таки гемморой значительно сокращал... да и не шибко рекомендует вроде MS писать ESP на чем-нить кроме C#... и с люпбжком к базе в шарпе - получше, значительно... да и документирован он лучше, чем йентот ODS (приходилось подымать доки вплоть до 6.5, чтобы чего-то понять). -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 14:31 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
locky nkulikov wrote: > Автор: nkulikov > На самом деле в чем-то Yo!! прав. > SQL запрос более вероятно выполнится быстрее чем код на C#. Только на > эту проблему нужно смотреть несколько иначе IMHO. > > Давай те смотреть на на for i=1 to 100000 do; а на более серьезные вещи > типа select'oв > > Задача поиска слона в африке > Есси мы пишем ее на С# это будет Может Yo! и прав, и может, правы и Вы, решая задачу поиска сферического коня в вакууме... однако исходный вопрос был "разбиение текста на предложения: T-SQL vs C#" может быть! есть декларативный язык который это умеет... но T-SQL явно не из из числа. поэтому моя имха такая: выделение предложений из текста при помощи внешней процы написанной на c# будет быстрее, чем при помощи процы на T-SQL, поскольку накладные расходы на "переключения контекста" для вызова C# с лихвой покроют относительную неторопливость исполнения T-SQL процедуры. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 Думаю ты прав! Хотя и часть логики (типа Insert, delete) мне тоже наду будет выполнить в dll, в общем счете это будет быстрее и проще чем писать на T-SQL. Работа в C# со строками лучше организована. А может быть быстрее все написать на PL-SQL? Вот пример. Делаем разбор предложения. Друган, зайди пожалуйста на сайт lastgame.games.ru найди мне код для игрушки и скинь ее на мыло afrika@kenguru.com.su причем не забудь это сделать сегодняяя !!!!! Использовать признак окончание предложения - . и ! не получается. Точка используется для электронных адресов, а кол-во ! знаков больше >1. Если использовать T-SQL substring для получения каждого символа текста и предложения. Преполагаю, что быстродействие substring будет ниже чем stringbuilder.getchar() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 15:38 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > 2locky > чтоб что-то доказать лучше напишите простенькую функцию upper() на t-sql > и clr и сравните на мульонной табличке, а потом сравните с нативным SQL. а вот давайте сравним Код: plaintext 1. 2. Код: plaintext 1. 2. что быстрее? первый вариант, но это уже - отклонение от темы. независимо от того, на чем писать - T-SQL или C# - задача разбивается на 2 этапа: 1. извлечь данные 2. преобразовать данные. первый этап по любому будет выполнятся каким-нить select ... from ... where ... а вот второй этап (наиболее ресурсоемкий) - скорее всего выгоднее будет писать на C# а не на T-SQL. Что-то мне подсказывает, что оракловские regexp'ы реализованы в виде некого бинарника, подключаемого по дефолту. Если это так, то чем отличается ESP, написанная на C# и подключенная к MS SQL от ESP, написанной (скорее всего) на С, и подключенной к ораклу? Бантиками, разве что... тем паче, что Вы сами то-что сказали "нативный upper" быстрее самописного на T-SQL. Нативный upper реализован всё-таки в виде некой сишной функции. Следовательно, более сложное преобразование строки будет работать быстрее в виде реализации на C# (а не на T/PL-SQL). -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 15:40 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
lockyЧто-то мне подсказывает Если внутренний голос говорит вам, что вы все сделали правильно, не обольщайтесь, возможно, это спам. (С) Протрать 10 минут напиши upper() и замерь. а мы все рассставим по местам. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 15:45 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
2Iura объясни внятно задачу, а то щас выснится что база тебе нужна лишь для того, чтоб складывать предложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 15:52 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!!2Iura объясни внятно задачу, а то щас выснится что база тебе нужна лишь для того, чтоб складывать предложения. Принял идею! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 15:55 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > Что-то мне подсказывает > > > Если внутренний голос говорит вам, что вы все сделали правильно, не > обольщайтесь, возможно, это спам. (С) > > Протрать 10 минут напиши upper() и замерь. а мы все рассставим по местам. :) upper писать не стал, поднял старый тестовый проект. функция, которая из '123f' делает '0000000123f'. т.е. определяет "числовую часть", добивает её нулями слева до 10-ти символов и дописывает в конец строковую часть. назначение - использование в сортировке (сортировать дома по номеру и т.д.). на 100000 вызовов: пустой цикл: 1913 t-sql 5980-1913=4067 crl 4496-1913=2583 время дано в милисекундах. видим: ф-я написаная на C# быстрее ф-ии на T-SQL. зы в шарпе не силен, может там и быстрее можно было сделать - не задавался такой целью. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 16:27 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
2locky попробую на пальцах: select tsql_upper(filed) from table where id=1 и select clr_upper(filed) from table where id=1 вполне вероятно и не будут особо различатся по времени, но меня интересует select * from table where tsql_upper(filed) = 'SHIT' и select * from table where clr_upper(filed) = 'SHIT' на милинах строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 16:40 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > Автор: Yo.!! > 2locky > попробую на пальцах: > select tsql_upper(filed) from table where id=1 > и > select clr_upper(filed) from table where id=1 > вполне вероятно и не будут особо различатся по времени, но меня интересует для "палечных": гонялся цикл на 100000 итераций. результат - приведен выше. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. > select * from table where tsql_upper(filed) = 'SHIT' > и > select * from table where clr_upper(filed) = 'SHIT' > на милинах строк. Код: plaintext 1. Код: plaintext 1. Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 18:58 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Вдогонку: value_t - 9,010,032 строк. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 19:00 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
А насколько чистый был эксперимент? Экземпляр БД перезапускался перед прогонами? Есть подозрение, что разница во времени связана с дисковыми операциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 16:48 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
fn_VirtualNumber_clr не хватает атрибута о том что это deterministic функция. Этот атрибут может ускорить выполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 17:30 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
ApexА насколько чистый был эксперимент? Экземпляр БД перезапускался перед прогонами? Есть подозрение, что разница во времени связана с дисковыми операциями. Когда-то тоже ставил подобные эксперименты, с перезапусками и т.п, результат похожий - вызов clr функции в 1.5-2 раза быстрее вызова аналогичной t-sql функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 12:44 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Apex wrote: > А насколько чистый был эксперимент? Экземпляр БД перезапускался перед > прогонами? Есть подозрение, что разница во времени связана с дисковыми > операциями. Нет, не перезапускался. черезполносно запускался один и другой вариант, примерно раз по 20, бралась средняя цифра. Чтобы избежать влияния дисковых операций - рулил простым циклом (просто Yo!! захотелось на таблице - зарулил на таблице). >fn_VirtualNumber_clr не хватает атрибута о том что это deterministic >функция. Этот атрибут может ускорить выполнение. Надо попробовать - спасибо >Когда-то тоже ставил подобные эксперименты, с перезапусками и т.п, >результат похожий - вызов clr функции в 1.5-2 раза быстрее вызова >аналогичной t-sql функции MS когда-то публиковало статью, в которой пояснялось, почему CLR UDF быстрее чем T-SQL. За неимением глубоких знаний .Net статью не осилил в полном объеме :-( Дело касалось не только скорости выполнения тела UDF (тут вроде всё понятно), но и накладных расходов при вызове UDF. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 12:59 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
да ерунда - тест во первых не тот что я хотел, а во вторых наверника не чистый. правда сам тоже тест не осилил, как я понял без visual studio clr вообще не развернуть, пришлость качать... пля, уже ушло не одна пол-литра но так и не нашел в этой студии элементарного - куда запросы писать. в моей бетте хоть query analyzer был, тут его нет. попробую на выходных побороть эту студию и запустить тест, хотя сумневаюсь я, что я увижу что-то кроме очевидного: Чтобы определиться с тем, когда использовать язык T-SQL, а когда — язык CLR, нужно помнить, что расширения CLR более уместны, когда необходим высокий уровень вычислений или манипуляций с текстом. Для задач, имеющих дело с большим количеством данных, решения на T-SQL лучше, чем решения на CLR, потому что T-SQL более тесно работает с данными и не требует сложных транзакций (многочисленных переходов) между CLR и SQL OS. http://old.osp.ru/win2000/2005/08/034.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 13:22 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > да ерунда - тест во первых не тот что я хотел, а во вторых наверника не > чистый. правда сам тоже тест не осилил, как я понял без visual studio Дайте текст теста (или описание) - какой Вы хотите. Осилим. > clr вообще не развернуть, пришлость качать... пля, уже ушло не одна > пол-литра но так и не нашел в этой студии элементарного - куда запросы > писать. в моей бетте хоть query analyzer был, тут его нет. попробую на > выходных побороть эту студию и запустить тест, хотя сумневаюсь я, что я > увижу что-то кроме очевидного: Не осилить GUI - это рулезь ;-) > Чтобы определиться с тем, когда использовать язык T-SQL, а когда - язык > CLR, нужно помнить, что расширения CLR более уместны, когда необходим > высокий уровень вычислений или манипуляций с текстом. Для задач, имеющих Собственно, в этом топике как раз такая задача и ставилась - парсинг текста. > дело с большим количеством данных, решения на T-SQL лучше, чем решения > на CLR, потому что T-SQL более тесно работает с данными и не требует > сложных транзакций (многочисленных переходов) между CLR и SQL OS. Поясните тогда, почему вызов "пустой" функции на CLR происходит быстрее, чем на T-SQL. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 13:30 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
lockyНе осилить GUI - это рулезь ;-) ну судя по гуглу я не один такой, без смеха куда там можно писать запросы ?? поскольку субд XE ничерта кроме студии нет, куда вот этот код можно писать ? lockyПоясните тогда, почему вызов "пустой" функции на CLR происходит быстрее, чем на T-SQL. это же очевидно, потому что нет переключений между CLR и SQL OS. вот осилю студию посмотрим на мои цифры :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 13:50 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > ну судя по гуглу я не один такой, без смеха куда там можно писать > запросы ?? поскольку субд XE ничерта кроме студии нет, куда вот этот > <http://old.osp.ru/win2000/2005/08/034_lis8.htm> код можно писать ? можно юзать QA от 7-2000, можно с сайта взять тулзу размером в метр - умеет выполнять запросы (хотя вид - поделка на коленке). Навскидку - не помню, но с Экпрессом вроде как идет командно-строчная утиль, нечто вроде isql или osql. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 14:04 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
locky можно юзать QA от 7-2000, можно с сайта взять тулзу размером в метр - умеет выполнять запросы (хотя вид - поделка на коленке). Навскидку - не помню, но с Экпрессом вроде как идет командно-строчная утиль, нечто вроде isql или osql. т.е. заплатив туеву хучу бабла за студию юзер на нем элементарно запрос отладить не может и эти люди мне тут рассказывают ужасы про оракловые тулзы ... к стате я нашел как можно выкрутится, если в процедуре выделить фрагмент то его можно выполнить, но приходится вырезать оператор GO и отладить/посмотреть план уже никак ... в osql у меня даже Ctr+V неработает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 14:57 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > Автор: Yo.!! > locky > > можно юзать QA от 7-2000, можно с сайта взять тулзу размером в метр - > умеет выполнять запросы (хотя вид - поделка на коленке). Навскидку - не > помню, но с Экпрессом вроде как идет командно-строчная утиль, нечто > вроде isql или osql. > > > т.е. заплатив туеву хучу бабла за студию юзер на нем элементарно запрос > отладить не может и эти люди мне тут рассказывают ужасы про оракловые > тулзы ... > к стате я нашел как можно выкрутится, если в процедуре выделить фрагмент > то его можно выполнить, но приходится вырезать оператор GO и > отладить/посмотреть план уже никак ... в osql у меня даже Ctr+V неработает Со студией не пробовал, работал с MSSSC... но, чуть покопавшись, file\new\project\other project types\database\database project. Добавить новый Queries. шорткат для запуска - пока не искал, в поп-ап меню - run. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:03 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
и еще теоритический вопрос: я могу делать CREATE ASSEMBLY C# кода или я обязан чем-то сначала dll делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:03 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
locky Добавить новый Queries. шорткат для запуска - пока не искал, в поп-ап меню - run. ага, а теперь попробуй мышой T-SQL нарисовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:05 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > Добавить новый Queries. > шорткат для запуска - пока не искал, в поп-ап меню - run. > > ага, а теперь попробуй мышой T-SQL нарисовать Чувак! Я нихрена не понял из того, что ты сказал! Но твои слова достучались до моего сердца! Я помогу тебе! (С) Пыхарь и хроник. причем тут мыша? Ну объясните старику? Там ТЕКСТОВЫЙ редактор, садись да тыркай по кнопкам. При желании можно таки еще и шорткат назначить (Project.Run), вот только все более-менее удобные шорткаты заняты, а разбираться, как назначить шорткат для указанной области - мне лично влом, у меня есть "нормальная" консоль. зы и это человек кричал тут: да вы оракл просто готовить не умеете, ламеры! ззы пока такие люди в стране совеЦЬкой еззь... (С) В.В.Маяковский. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:14 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
текстовый !? доберусь до дому буду искать, я все меню облазил, в database project было New Query, его же можно с Object browser правой кнопки мыши запустить - это для полных мудаков рисовать SQL запросы мышой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:23 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > Автор: Yo.!! > текстовый !? доберусь до дому буду искать, я все меню облазил, в > database project было New Query, его же можно с Object browser правой > кнопки мыши запустить - это для полных мудаков рисовать SQL запросы мышой. Solution Explorer\Queries правой - Add new item\SQL Script. есть там и Database Query - оно таки да, визуальное. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:37 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
locky Solution Explorer\Queries правой - Add new item\SQL Script. есть там и Database Query - оно таки да, визуальное. надеюсь ты про это ? и там add new item позволит запускать t-sql скрипты ?? ЗЫ мне интересно это только у меня не хватает нтуиции искать запуск t-sql скриптов в sql query дизайнере в разделе add new item правда я признатся еще не нашел даже как SQL запрос с клавы вбить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:49 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
ну... вообще, обычно люди запросы пишут либо в Query Analizer'e, либо Management Studio. В VS это сложнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:21 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
AAronну... вообще, обычно люди запросы пишут либо в Query Analizer'e, либо Management Studio. В VS это сложнее да нету в этом express edition ни QA ни Management Studio, на другом виндовсе у меня есть betta2, там есть, но там нет студии, чтоб CLR развернуть ... теоритический вопрос: я могу делать CREATE ASSEMBLY C# кода или я обязан чем-то сначала dll делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:39 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Да, интуитивность интерфейса растёт не по дням, а по часам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 18:09 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
DarkSquid wrote: > Автор: "DarkSquid" > Да, интуитивность интерфейса растёт не по дням, а по часам. это да. даже с консоли - хреново работать (по крайней мере после QA) а в студии - мрак, если не сказать больше (по крайней мере со скриптами и прочем сюдаотносящейся лабудой). 2Yo!! а фиг его знает - про это я или не про это. Пока не установил себе четких соотвествий - чего как называется. наверное - и не буду. Консоль всё-таки удобнее -- ------------------------- There\'s no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 18:31 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! AAronну... вообще, обычно люди запросы пишут либо в Query Analizer'e, либо Management Studio. В VS это сложнее да нету в этом express edition ни QA ни Management Studio, на другом виндовсе у меня есть betta2, там есть, но там нет студии, чтоб CLR развернуть ... теоритический вопрос: я могу делать CREATE ASSEMBLY C# кода или я обязан чем-то сначала dll делать ? Тулзы идут либо отдельным пакетом, либо в составе SQL Server 2005 (например, Developer Edition). CREATE ASSEMBLY можно сделать для DLL, т.е. код надо компилить сначала. BOLCREATE ASSEMBLY uploads an assembly that was previously compiled as a .dll file from managed code for use inside an instance of SQL Server. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 18:35 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
locky DarkSquid wrote: > Автор: "DarkSquid" > Да, интуитивность интерфейса растёт не по дням, а по часам. это да. даже с консоли - хреново работать (по крайней мере после QA) а в студии - мрак, если не сказать больше (по крайней мере со скриптами и прочем сюдаотносящейся лабудой). 2Yo!! а фиг его знает - про это я или не про это. Пока не установил себе четких соотвествий - чего как называется. наверное - и не буду. Консоль всё-таки удобнее -- ------------------------- There\'s no silver bullet! Posted via ActualForum NNTP Server 1.3 буквально на днях то ли вышел CTP редакции VS for Database Developer, то ли должен выйти. здесь ссылка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 18:40 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Простите, что вмешиваюсь в ваш мудрый научный спор, но правильно ли я понял по его прочтении, что регулярных выражений тоже нету в MS SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 20:25 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
DocAlПростите, что вмешиваюсь в ваш мудрый научный спор, но правильно ли я понял по его прочтении, что регулярных выражений тоже нету в MS SQL? а они есть где-то они есть в конструкциях языка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 22:31 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
нашел ! действительно в solution explorer, видно я совсем попорчен ужастными оракловыми тулзами :) поэтому туда заглянуть интуиции не хватило (зато продуктивно провел 30 минут за прочтением Understanding Visual Database Tools) 2DocAl в mssql в SQL и T-SQL нету только в CLR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 22:46 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!!да нету в этом express edition ни QA ни Management StudioВ новом (сп1) есть. И даже репортинг сервисес включили. Но даже в той версии была утилита sqlcmd.exe. А код на с# можно было и в блокноте набрать да откомпилировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 01:52 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Да в крайнем случае сделать простейшую формочку с текстовым полем для ввода запроса и табличкой для вывода результата... Кстати QA от 2000 цепляется к 2005 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 02:01 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
AAron DocAlПростите, что вмешиваюсь в ваш мудрый научный спор, но правильно ли я понял по его прочтении, что регулярных выражений тоже нету в MS SQL? а они есть где-то они есть в конструкциях языка? Простите мне такое сравнение, но, скажем, в MySQL и PostgreSQL они есть. Да, конечно, это расширение стандарта, но когда это останавливало Микрософт или Оракл?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 08:30 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
DocAl Простите мне такое сравнение, но, скажем, в MySQL и PostgreSQL они есть. Да, конечно, это расширение стандарта, но когда это останавливало Микрософт или Оракл?) когда эта фича станет модной, типа xml, тогда и сделают ;) с другой стороны никто не мешает для mssql заюзать это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 08:45 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
a в 2005 вообще можно обернуть CLR-функции для работы с regexp'ами в процедуры/функции T-SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 10:06 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
2Yo!!! ну-с, и куда мы подевались? Я, паче чаяния, думал - в отпуск человек ушел, потому и не пишет.... Как там Иксперементы с Острым Си и прочей лабудой? Как изучение визюальной студии? Или - как дело до практики - дык не наша задача мешки тягать - нам о политике думать? -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2006, 15:39 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
locky 2Yo!!! ну-с, и куда мы подевались? Я, паче чаяния, думал - в отпуск человек ушел, потому и не пишет.... Как там Иксперементы с Острым Си и прочей лабудой? Как изучение визюальной студии? Или - как дело до практики - дык не наша задача мешки тягать - нам о политике думать? да студия у меня только дома, а в такую погоду особо делать нечего, а через radmin gprs тормозит. сломался на студии, вот чо он хочет ? ЗЫ. выложи тут dll чтоб без студии можно было сделать CREATE ASSEMBLY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2006, 16:16 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
вот тебе чего-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2006, 16:50 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
окуеть, действительно медленее :) причем на 2.3M разница на порядок. правда sql у меня посложней: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. но тут помоему какой-то трабл у t-sql, он кушает не более 30% CPU, а CLR все 100% аж бровсер тормозит, если это не результат моих ручек то t-sql просто Sux с большой буквы. а теперь будет интересно посмотреть на оракл. ЗЫ. solurion explorer -> add new test script оно не понимает даже GO и нет плана, может я там еще чего-то не нашел ?? куда я все таки должен писать sql скрипты в студии ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2006, 23:04 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
да, фигня какая-то именно у t-sql, на 2.3M записей oracle XE табличке: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. а t-sql : Elapsed: 181516 Elapsed: 111330 Elapsed: 100593 это в милисекундах, т.е. на порядок медленее оракла. цифры CLR похожи на pl/sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 02:00 |
|
||
|
MS SQL & Oracle 10 g
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > Автор: Yo.!! > но тут помоему какой-то трабл у t-sql, он кушает не более 30% CPU, а CLR > все 100% аж бровсер тормозит, если это не результат моих ручек то t-sql > просто Sux с большой буквы. а теперь будет интересно посмотреть на оракл. там не в T-SQL собственно жоппа, а в реализации UDF, точнее их вызова... Дык, никто и не скрывал что они как-то не так сделаны.... Хотя - до сих пор не вкурю, ПОЧЕМУ вызов T-SQL UDF происходит медленнее чем CLR UDF. Надо будет напряч кого-нить из гуру, пусть пояснять. зы с расчетными частями - оно как раз понятно, компилированный код по жизни быстрее интепретируемого (правильно слово написал? утро, млин). -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 10:24 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1553556]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
110ms |
get tp. blocked users: |
2ms |
| others: | 177ms |
| total: | 371ms |

| 0 / 0 |
