|
Почему не выполняет запрос
|
|||
---|---|---|---|
#18+
В моей базе dbf свыше 290 тыс. записей и когда я выполняю запрос select * from asd1.dbf where mark like 'ВАЗ2109' программа виснет.Подскажите пожалуйста почему это происходит. Рома. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2002, 08:26 |
|
Почему не выполняет запрос
|
|||
---|---|---|---|
#18+
ОПЕРАТОР LIKE LIKE применим только к полям типа CHAR или VARCHAR, с которыми он используется чтобы находить подстроки. Т.е. он ищет поле символа чтобы видеть, совпадает ли с условием часть его строки. В качестве условия он использует групповые символы(wildkards) - специальные символы которые могут соответствовать чему-нибудь. Имеются два типа групповых символов используемых с LIKE: * символ подчеркивания (_)замещает любой одиночный символ. Например, 'b_t' будет соответствовать словам 'bat' или 'bit', но не будет соответствовать 'brat'. * знак процента (%) замещает последовательность любого числа символов (включая символы нуля). Например '%p%t' будет соответствовать словам 'put', 'posit', или 'opt', но не 'spite'. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2002, 08:33 |
|
Почему не выполняет запрос
|
|||
---|---|---|---|
#18+
Groove объяснил все правильно, но забыл добавить, что в Вашем случае оператор LIKE не нужен, достаточно простого равенства. Равенство работает несколько быстрее. Но все равно, SELECT по DBF очень тормозная операция. Мне представляется несколько выходов. 1. Плюнуть на SQL, создать индекс по MARK и искать с помощью Locate. Или наложить на таблицу фильтр. 2. Плюнуть на BDE и перейти на ADO. Там можно выставить TimeOut для длинного запроса. 3. Плюнуть на все и поставит SQL-сервер. Третий способ даст наибольший эффект. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2002, 20:53 |
|
|
start [/forum/topic.php?fid=58&fpage=2085&tid=2119962]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 317ms |
total: | 438ms |
0 / 0 |