Індексація довічних об’єктів

SQL Server може зберігати будь-які двійкові обєкти, розмір яких не перевищує

2 Гбайт Повнотекстовий пошук може індексувати такі обєкти, якщо задовольняються такі критерії

■ У Windows повинен бути встановлений фільтр для даного типу обєкта SQL Server встановлює у файлі offfiltdll фільтри для наступних типів файлів: doc, xls, ppt, txt і htm

■ Окремий стовпець типу char (3) повинен зберігати розширення документа, що міститься в цьому рядку

■ Окремий стовпець повинен бути доданий для каталогу повнотекстового пошуку, а тип документа (наприклад, Doc, Xls або ppt) повинен зберігатися в прилеглому стовпці

■ Каталог повнотекстового пошуку може заповнюватися повністю і частково, при цьому відстеження змін і фонове оновлення для таких стовпців не застосовується

■ Після завантаження в SQL Server великі документи повинні бути правильно ініціалізовані за допомогою програми Bulk Image Insert

Навіть якщо повнотекстовий пошук правильно встановлений для обслуговування особливо великих документів, ця технологія більш ніж недосконала, і потрібно вміти змусити її працювати

Наступна збережена процедура запускається для підготовки стовпця з особливо великими документами до повнотекстовий пошук:

EXEC sp_fulltext_column

‘Fable,Blob,add,0x0409,BlobType*

Параметри виклику ті ж, що і при створенні текстового стовпчика, за винятком того, що останній з них ідентифікує стовпець, використовуваний для розширення документа

SQL Server використовує для вставки особливо великих документів спеціальну програму завантаження великих зображень, яка називається BIIexe Це модифікована версія програми завантаження дуже великих документів Вона заархівувати у файлі un-zip_utilzip, що знаходиться в каталозі C: ​​\ Program Files \ Microsof t SQL Server \ 8 0 \ Tools \ DevTools \ Samples \ utils Після розархівації створюється підкаталог bii, куди поміщаються всі файли утиліти

Утиліта копіювання великих зображень копіює дані з текстового файлу в SQL Server Дані в цьому текстовому файлі повинні бути розділені крапками з комою (незважаючи на те, що документація стверджує, що це мають бути коми) Імя самого документа повинно бути вказано у файлі після символу

У наступному прикладі виконується завантаження документа fox doc у розглянуту нами навчальну базу байок Езопа У шостій стовпець додається тип документа, а сьомого вставляється вміст файлу (один рядок була розбита на дві, щоб поміститися на сторінці):

Sampletxt:

26 Test Fable Persistence Pays Off

Try, try again;doc@foxdoc

Після виклику утиліти bii exe з командного рядка всі дані з файлу sample txt будуть переміщені в таблицю fable Інші параметри визначають імя сервера і бази даних, імя користувача і його пароль Параметр-v вказує програмі супроводити свою роботу створенням звіту (наведений нижче текст також був відформатований, щоб він міг поміститися на аркуші)

&gtbii &quotfable&quot in &quotsampletxt&quot

-S&quotNoli&quot -D&quotAesop&quot -U&quotsa&quot -P&quotsa&quot -v

Результат виконання утиліти:

BII – Bulk Image Insert Program for Microsoft SQL Server

Copyright 2000 Microsoft Corporation, All Rights Reserved

Version: VI0-1

Started at 2001-12-07 16:28:09231 on NOLI Table NoliAesopsafable FablelD int (4)

Title varchar (50)

Moral varchar (10 0)

FableText varchar (153 6)

BlobType char (3) null Blob image (16) null

Inserted 1 rows Read 1 rows 0 rows with errors

Total Bytes = 19508 inserted 19456 File Bytes

Total Seconds = 002 Kb Per Second = 952539063

BII – Bulk Image Insert Program for Microsoft SQL Server

Copyright 2 000 Microsoft Corporation, All Rights Reserved

Version: VI0-1

Finished at 2001-12-07 16:28:09332 on NOLI

Як тільки двадцять шоста байка буде завантажена в базу даних і буде заповнений повно-текстовий каталог, ви зможете використовувати наступну команду для пошуку документа Word в SQL Server:

EXEC sp_fulltext_table Fable1, 1start_full1

Наприклад, наступний запит шукає слово jumped, що міститься у вставленій двадцять шостий байці:

SELECT Title, BlobType FROM Fable

WHERE CONTAINS (*, j umped)

Результат виконання запиту:

Title       BlobType

Test Fable      doc

Питання продуктивності

Продуктивність повнотекстового пошуку в SQL Server 2005 на кілька порядків вище, ніж в SQL Server 2000 і SQL Server 7 Однак у вас все одно може виникнути бажання досягти в своїй системі оптимальної продуктивності

Повнотекстовий пошук значною мірою залежить від швидкодії компютерної системи Помістіть каталог на окремий контролер, бажано з використанням дискового масиву RAID 10 Щоб конфігурувати повнотекстовий пошук для оптимальної продуктивності, виконайте наступну команду: sp_fulltext_service resource_usage

■ Після повного або часткового заповнення консолідуйте всі індекси в головний індекс, виконавши наступну команду:

ALTER FULLTEXT CATALOG catalog_name REORGANIZE

■ Також ви можете максимізувати кількість рангів, які може використовувати процес збору інформації, виконавши наступну команду:

sp_configure max full-text crawl range, 100

■ Ви також можете змінити налаштування ft crawl bandwidth (max), яка управляє обсягом памяті, виділеним для заповнення Підвищуючи цей обсяг, ми виділяємо більше памяті для індексації, але тим самим забираємо ресурси у сервера Цей обсяг памяті можна збільшити за допомогою наступної команди:

sp_configure ft crawl bandwidth (max), 1000

Резюме

Індекси SQL Server не призначені для пошуку слів і фраз в середині поля У той же час, якщо того вимагає створюваний проект, на допомогу прийде повнотекстовий пошук, хоча він і зажадає від вас додаткової роботи, в тому числі адміністративної

Цю частину книги ми присвятили опису операцій з даними за допомогою інструкції SELECT У цьому розділі ви дізналися, як використовувати в цій інструкції для вилучення даних функції повнотекстового пошуку У наступній розділі ми продовжимо тему вилучення даних, описавши, як використовувати зумовлені інструкції SQL в ролі уявлень

Створення уявлень

Виставою називають збережену інструкцію SQL, на яку можна послатися як на джерело даних в запиті, так само як на подзапрос, – ні більше ні менше Представлення не може бути виконано самостійно воно повинне використовуватися в запиті

Уявлення іноді називають віртуальними таблицями Це визначення не зовсім відповідає дійсності, так як уявлення самі по собі не зберігають дані Подібно будь-якому запиту SQL, подання звертаються до даних, збереженим в таблицях

Тепер важливо зрозуміти, як працюють уявлення, розглянути їх достоїнства і недоліки, а також зясувати, де їх краще використовувати в архітектурі проекту

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*