Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и индексы / 5 сообщений из 5, страница 1 из 1
03.07.2005, 16:27:04
    #33146900
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL и индексы
Добрый воскресный день Всем!
Написал примерно такой запрос к базе примерно в 400000 записей:
Data1.RecordSource = "select * from " & BasePath & _
" where (Dopim=" & Chr(34) & tmpI & Chr(34) & _
") and (Dopot=" & Chr(34) & tmpO & Chr(34) & _
") and (L90013 like " & Chr(34) & "*" & CStr(tmpDate) & "*" & Chr(34) & ")"
Data1.Refresh
где как понятно tmpI,tmpO и соответствующие им поля в базе - строковые, а tmpDate - типа Date.
Так вот. Пока база не индексирована все работает. Как только индексирую хотя бы по одному полю (не обязательно по L90013 ) проверка по L90013 не происходит и выдается результат по первым двум условиям и сообщения об ошибке в запросе никакого нет.
Может кто-нибудь знает в чем дело?
...
Рейтинг: 0 / 0
03.07.2005, 16:30:53
    #33146902
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL и индексы
Добрый воскресный день Всем!
Написал примерно такой запрос к базе примерно в 400000 записей:
Data1.RecordSource = "select * from " & BasePath & _
" where (Dopim=" & Chr(34) & tmpI & Chr(34) & _
") and (Dopot=" & Chr(34) & tmpO & Chr(34) & _
") and (L90013 like " & Chr(34) & "*" & CStr(tmpDate) & "*" & Chr(34) & ")"
Data1.Refresh
где как понятно tmpI,tmpO и соответствующие им поля в базе - строковые, а tmpDate - типа Date.
Так вот. Пока база не индексирована все работает. Как только индексирую хотя бы по одному полю (не обязательно по L90013 ) проверка по L90013 не происходит и выдается результат по первым двум условиям и сообщения об ошибке в запросе никакого нет.
Может кто-нибудь знает в чем дело?
...
Рейтинг: 0 / 0
03.07.2005, 17:57:03
    #33146930
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL и индексы
вместо парных кавычек использовать апострофы, вместо * использовать %,
в конструкции LIKE использовать параметр N (использование Unicode)
...
Рейтинг: 0 / 0
03.07.2005, 17:59:13
    #33146932
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL и индексы
и чему в в конечном итоге будет равно "Debug.Print Data1.RecordSource" - неохота делать работу интерпретатора-компилятора чужого приложения...
...
Рейтинг: 0 / 0
04.07.2005, 13:43:19
    #33147882
programmator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL и индексы
Делай кластерный индекс по всем полям которые в условии.
Только учти, что кластерный должен быть один.
С васика еще необходимо чтобы в таблице было ключевое поле.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и индексы / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]