Газа HTML - Кто это работа? - PullRequest
1 голос
/ 10 января 2012

В дБ у меня есть: ( есть = существующая ситуация. В БД уже есть данные)

Длинная строка html (nvarchar max)

пользователь имеет:

asp.net aspx page

миссия:

извлечение из всей строки html 1 отдельное предложение -и показать его пользователю

параметры:

1) выполнить раздевание в sql и передать результат клиенту

pros: сеть незагружен весь html - но результат

cons: сервер sql работает усерднее

2) отправляет весь html в проводе на сервер и выполняет работу там.

pros: sql работает не слишком усердно, iis выполняет работу с готовыми инструментами (html agilitypack)

cons: сетевой провод загружен нежелательными данными

какой подход является правильным?

ps

давайте предположим, что оборудование отлично.

Ответы [ 3 ]

2 голосов
/ 10 января 2012

Если вам нужно многократно извлекать этот конкретный фрагмент данных, его следует хранить отдельно - например, в другом столбце той же таблицы.

При сохранении HTML извлеките этот фрагмент информации для хранения (также при обновлении, чтобы обеспечить синхронизацию информации.)

Я бы предложил использовать синтаксический анализатор HTML, такой как Agility Pack , для анализа и запроса HTML и выполнения его в ASP.NET-код, который будет сохранять в БД вместо того, чтобы делать это в БД (поскольку манипулирование строками не имеет большой поддержки в базах данных).

Преимущество заключается в получении данных только тогда, когда они вам нужны, и обработкетолько при необходимости.

0 голосов
/ 17 января 2012

Я бы тоже пошел только с опцией HTML Agility Pack.

Тем не менее, если HTML-код, хранящийся в БД, правильно сформирован и вы используете SQL Server 2005+, попробуйте это, чтобы увидеть, поможет ли это - http://vadivel.blogspot.com/2011/10/strip-html-using-udf-in-sql-server-2005.html

0 голосов
/ 10 января 2012

Всегда хорошо пойти на хранение данных без потерь ... потому что это может быть полезно в будущем ... я думаю, что второй вариант хорош, вы должны сохранить HTML в БД и использовать agilitypack для анализа данных ... как у вас есть упомянутое аппаратное обеспечение превосходно Agilitypack должен легко выполнять свою работу, потому что он работает на принципах XML-документа, который довольно быстро проходит узлы.

Привет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...