powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и индексы
5 сообщений из 5, страница 1 из 1
SQL и индексы
    #33146900
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый воскресный день Всем!
Написал примерно такой запрос к базе примерно в 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
SQL и индексы
    #33146902
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый воскресный день Всем!
Написал примерно такой запрос к базе примерно в 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
SQL и индексы
    #33146930
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо парных кавычек использовать апострофы, вместо * использовать %,
в конструкции LIKE использовать параметр N (использование Unicode)
...
Рейтинг: 0 / 0
SQL и индексы
    #33146932
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и чему в в конечном итоге будет равно "Debug.Print Data1.RecordSource" - неохота делать работу интерпретатора-компилятора чужого приложения...
...
Рейтинг: 0 / 0
SQL и индексы
    #33147882
Фотография programmator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай кластерный индекс по всем полям которые в условии.
Только учти, что кластерный должен быть один.
С васика еще необходимо чтобы в таблице было ключевое поле.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и индексы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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