|
Поиск идет слишком медленно!
|
|||
---|---|---|---|
#18+
Привет! Есть таблица в которой порядко 100 000 записей (строк). В таблице 35 колонок. Сейчас пишу поисковик по этой базе. Может быть я что-то делаю неправильно (может быть даже сам подход вкорне не верен) - я никогда не сталкивался с таким количеством данных. Короче - делаю поиск методом фильтрации (WHERE). разработку веду на ASP. По cтроке запроса:objRec.Source = "SELECT ISBN, Title, Author, PublisherName, Binding, Availability, ShortDescription FROM DBA.BookDescription WHERE title LIKE 'GUIN'" ПОИСК ВЫПОЛНЯЕТСЯ 67 СЕКУНД!!! И это без сортировки с помощью ORDER BY! Что-то я делаю неправильно, только вот что? Комп: WinXP Prof. 512 DDRRAM, 1,2 Гигагерца IIS + Sybase (Adaptive Server Anywhere 6.0) Заренее спасибо за совет. Если есть ссылка на статьи с примерами - буду признателен. ВОТ весь код: Dim objRec Dim objRec_numrows Dim maxReconPage maxReconPage = 30 Set objRec = Server.CreateObject("ADODB.Recordset") objRec.ActiveConnection = connStr objRec.Source = "SELECT ISBN, Title, Author, PublisherName, Binding, Availability, ShortDescription FROM DBA.BookDescription WHERE title LIKE 'G'" objRec.CursorType = 0 objRec.CursorLocation = 2 objRec.LockType = 1 objRec.Open() objRec_numrows = 0 objRec.movefirst rCount=0 while not objRec.EOF and rCount<>maxReconPage rCount = rCount + 1 Response.Write "<p>" Response.Write "ISBN: " & objRec.Fields.Item("ISBN").Value & "<br>" Response.Write objRec.Fields.Item("Title").Value & "<br>" Response.Write objRec.Fields.Item("Author").Value & "<br>" Response.Write objRec.Fields.Item("PublisherName").Value & "<br>" Response.Write objRec.Fields.Item("Binding").Value & "<br>" Response.Write objRec.Fields.Item("Availability").Value & "<br>" Response.Write objRec.Fields.Item("ShortDescription").Value & "<br>" Response.Write "</p>" objRec.Movenext wend objRec.Close set objRec = nothing ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2002, 03:50 |
|
Поиск идет слишком медленно!
|
|||
---|---|---|---|
#18+
Я никогда не корябал на АСП,но что бросилось в глаза-лайк обычно пользуют с % или _,иначе,на фиг он нужен-есть обычное сравнение =. Но это не причина замедления.Скорее всего сдох индекс,можно крутануть апдейт статистикс,да тильки для таке малесенькой таблички чище и экономичней построить его заново.Фром для начала можно переделать на FROM DBA.BookDescription (index title_index),шоб попользовал индекс даже если он сдох.Если все это не поможет,подывись на таблички sysprocess и syslocks,можа есть паралелльный процecc шо без устали долбит по диску или блокировка именно на твою таблицу,если и там чисто-проверь сеть:вмеcто списка полей поставь в селекте count(*) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2002, 11:45 |
|
Поиск идет слишком медленно!
|
|||
---|---|---|---|
#18+
Попробуйте поменять Код: plaintext
на Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2002, 18:49 |
|
|
start [/forum/topic.php?fid=55&fpage=136&tid=2014972]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 230ms |
total: | 350ms |
0 / 0 |