Что быстрее MS SQL или код

JeSert
Дата: 04.12.2004 21:47:11
вот вопрос.
к примеру расмотрим замену в сообщении всех матов на звездочки.
что будет бысрее работать процедура на MS SQL или заполнить DataSet таблицой где хранятся маты и сравнивать уже кодом программы
Misha 'Karn' Ivanov
Дата: 06.12.2004 13:15:59
т.е. вопрос ставится так: какие регулярные выражения лучше? .NET или T-SQL? разумеется, .NET - и мощнее и быстрее
Worobjoff
Дата: 06.12.2004 13:48:16
Misha 'Karn' Ivanov
т.е. вопрос ставится так: какие регулярные выражения лучше? .NET или T-SQL? разумеется, .NET - и мощнее и быстрее
Да как сказать...
Все равно данные надо сначала извлечь, а потом забросить обратно. А на это время тратится. И еще ели надо будет заблокировать таблицу на изменения на время выполнения, то TSQL явно в тему.
Кстати, а как на счет триггера, чтобы маты вообще в БД не пускал?
nex
Дата: 06.12.2004 14:07:32
Я бы Regex пользовал в любом случае...

Можно хранить в базе оригинал поста (т.е. с матами), и фильтровать прямо перед показом, а можно не пускать матерные слова в базу, и фильтровать вовремя insert-a и update-a.
В последнем случае показ будет быстрее, но в базе будут лежать не оригиналы (а ****** они нужны?! :)

--
nexus
nex
Дата: 06.12.2004 14:09:07
nex
Я бы Regex пользовал в любом случае...


Это я того.. в смысле Regex в .NET :)
Misha 'Karn' Ivanov
Дата: 06.12.2004 14:27:17
Worobjoff
Все равно данные надо сначала извлечь, а потом забросить обратно. А на это время тратится.

И в том и в другом случае вы потратите это время и никуда от этого не уйти. Это неизменяемая константа.
Worobjoff

И еще ели надо будет заблокировать таблицу на изменения на время выполнения, то TSQL явно в тему.

Наоборот,в этом и есть принципиальное различие .NET от ADO.
Не надо ничего блокировать. Если исполнять фильтрацию средствами .NET то вы значительно снизите нагрузку на СУБД.
Worobjoff

Кстати, а как на счет триггера, чтобы маты вообще в БД не пускал?

Я не знаю, я больше по .NET , по триггерам здесь есть более умные люди, но лично я стараюсь самолично убивать каждого, кто использует триггера.
кузя
Дата: 06.12.2004 14:35:23
<imho>

и мои 3 строчки

мат нужно отрабатывать на ВЫХОДЕ, т.е. перед выводом на экран в приложение.

на входе и в БД все должно храниться в оригинальном виде - иначе хрен чего найдешь при поиске.

</imho>
Misha 'Karn' Ivanov
Дата: 06.12.2004 14:56:11
кузя
<imho>

и мои 3 строчки

мат нужно отрабатывать на ВЫХОДЕ, т.е. перед выводом на экран в приложение.

на входе и в БД все должно храниться в оригинальном виде - иначе хрен чего найдешь при поиске.

</imho>


при поиске по какому такому слову, интересно?
hDrummer
Дата: 06.12.2004 15:24:20
nex
Можно хранить в базе оригинал поста (т.е. с матами), и фильтровать прямо перед показом, а можно не пускать матерные слова в базу, и фильтровать вовремя insert-a и update-a.

Интересный подход, нравится.
Ustazz
Дата: 06.12.2004 16:24:04
Если построить в памяти словарь "нехороших" слов с быстрым доступом, например, с помощью Hashtable, станет возможным делать проверку без обращения к БД. Можно и DataTable использовать, но поиск все равно делать по ключу.