|
Вложенный запросы -- in ('слово1', 'слово2', 'слово3', 'слово4' ...)
|
|||
---|---|---|---|
#18+
Здравствуйте ! Вопрос следующий. Как ускорить выполнение запроса select count(*)... from table where word in (список слов в кавычках) group by ... word - varchar(50). по другому сделать не представляется возможным. :( Время отработки запроса прямо пропорционально кол-ву слов в (..). При 300 слов около 15 сек. В Таблице около 500.000 записей. по всем полям есть индексы.. Может быть plan поможет - только как им пользоваться и редактировать в IB Expert я не понял. Если varchar(30) сделать быстрее будет ? Спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2002, 20:56 |
|
Вложенный запросы -- in ('слово1', 'слово2', 'слово3', 'слово4' ...)
|
|||
---|---|---|---|
#18+
Привет. На forums.demo.ru есть мощная конференция epsylon.public.interbase - спроси там. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2002, 13:45 |
|
Вложенный запросы -- in ('слово1', 'слово2', 'слово3', 'слово4' ...)
|
|||
---|---|---|---|
#18+
Привет! Список слов помести в таблицу - как бы временную, и выполняй, только не через In, а используя EXISTS. То есть, для хранения временных слов создай таблицу вида: Код: plaintext 1. 2. 3.
Индексы, конечно создать надо. Заноси в эту таблицу слова, а также ID пользователя - чтобы обеспечить многопользовательскую работу. Далее так Код: plaintext 1. 2. 3. 4. 5. 6.
Такая конструкция разворачивается оптимизатором в join (IN - в набор OR) и работает очень быстро. После использования - удалить слова. В сущности, можно все это офрмить в приятную на ощупь хранимую процедурку :) WBR, Alexey Kovyazin, www.interbase-world.com ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2002, 15:08 |
|
Вложенный запросы -- in ('слово1', 'слово2', 'слово3', 'слово4' ...)
|
|||
---|---|---|---|
#18+
Действительно для явного задания в запросе строк в конструкции IN оптимизации запроса не произойдет, если же работать с запросом типа select * from table_name where any_table in (select name from other_table) тогда при условиии что на other_table.name стоят индексы запрос полетит. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2003, 22:12 |
|
|
start [/forum/topic.php?fid=40&fpage=524&tid=1580736]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 289ms |
total: | 428ms |
0 / 0 |