Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Производительность [IB6.x]


Страницы:   1 2

xayam ©   (2007-10-08 16:06:00) 

Решил тут недавно написать небольшой поисковичек для делфимастера по старым веткам незнаю че то интересно стало, написал загрузчик из xml'я в бд благо с 2004 года ветки в xml'е сохраняют)) Но возникли некоторые проблемы с производительностью, ищет медленно.
вот основной запрос на поиск
http://xayam.by.ru/Images/db2.gif

Хотя я думаю дело не в запросе. А в параметрах бд: кеш, sweep interval, размер страницы, индексы. Так вот какую совокупность этих параметров можно считать оптимальной? Есть ли какие-то другие способы увеличения производительности? Что посоветуете


Desdechado   (2007-10-08 17:11:00) [21]

> да это тоже плохо
Уже успел попробовать?


Desdechado   (2007-10-08 17:10:00) [22]

> Sergey13 ©   (08.10.07 16:37) [7]
Да, страница должна быть равна или вмещать целое число кластеров. Тогда не будет "холостых чтений" диска.
И чем больше размер страницы, тем меньше глубина индекса на большой таблице. При глубине >3 возникают заметные тормоза.


xayam   (2007-10-08 17:07:00) [23]


> Desdechado ©   (08.10.07 16:32) [4]
> Например, можно разбить текст на слова, соотнести слова
> с постом, проиндексировать таблицу слов и искать по ним.
>  Но здесь тоже не очень удобно, т.к. только целые слова
> и только в тех формах, какие есть в тексте

да это тоже плохо


Sergey13   (2007-10-08 16:50:00) [24]

> [9] xayam ©   (08.10.07 16:40)

Есть поиск и есть поиск. Одно дело искать по like UPPER('%ччч%') и другое дело поиск по индексу. Инвалидная коляска и феррари.


xayam   (2007-10-08 16:40:00) [25]


> Sergey13 ©   (08.10.07 16:38) [8]
> > записей ищет достаточно быстро
> Такой же запрос?

незнаю, я там не админю))


Sergey13   (2007-10-08 16:38:00) [26]

> [6] xayam ©   (08.10.07 16:36)
> это понятно, хотя вот у меня на работе бд несколько миллионов
> записей ищет достаточно быстро
Такой же запрос?


Sergey13   (2007-10-08 16:37:00) [27]

> [5] Desdechado ©   (08.10.07 16:34)

Вроде размер страницы (желательно) должен соответствовать (или быть кратным) размеру кластера на диске.


xayam   (2007-10-08 16:36:00) [28]


> Sergey13 ©   (08.10.07 16:15) [3]
> > [2] xayam ©   (08.10.07 16:12)
> А других вариантов и нет по большому счету. Запрос по поиску
> подстроки по любому затратная штука.

это понятно, хотя вот у меня на работе бд несколько миллионов записей ищет достаточно быстро, правда там Sql Server, а тут записей на порядок меньше и такие тормоза ((


Desdechado   (2007-10-08 16:34:00) [29]

Кстати
в параметрах бд: кеш, sweep interval, размер страницы, индексы
размер страницы действительно влияет на скорость чтения данных и работы с индесками. Меньше 4 кб ставить не рекомендую.


Desdechado   (2007-10-08 16:32:00) [30]

Есть и другие варианты, но в FB их нужно делать руками, тогда как в других СУБД часто есть встроенные механизмы.
Например, можно разбить текст на слова, соотнести слова с постом, проиндексировать таблицу слов и искать по ним. Но здесь тоже не очень удобно, т.к. только целые слова и только в тех формах, какие есть в тексте. Но уже лучше, чем простой LIKE.


Sergey13   (2007-10-08 16:15:00) [31]

> [2] xayam ©   (08.10.07 16:12)

А других вариантов и нет по большому счету. Запрос по поиску подстроки по любому затратная штука.


xayam   (2007-10-08 16:12:00) [32]


> При запросе с Like '%xxx%'

хм... а как же по-другому, не очень хорошо знаю sql, но прочитав одну книгу Гроффа других вариантов не нашел


Sergey13   (2007-10-08 16:10:00) [33]

> [0] xayam ©   (08.10.07 16:06)
> Хотя я думаю дело не в запросе.

Ошибаешься. Как раз в нем. При запросе с Like '%xxx%' не используется инедекс и идет полное сканирование таблицы.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо