Tushar123 Ответов: 1

Какую базу данных я должен предпочесть для быстрого поиска запросов?


Должно быть поддержано C#.Net

1. Мой поиск данных даст мне вывод в Datatable, и он будет загружен в Datagrid.
2. пользователь будет искать по событию изменения текстового поля.
3. База данных имеет минимум 100к строк и 150 столбцов.
4. Поле поиска может быть любое из полей, от 150, что тип varchar и целочисленных типов данных смешанный.
5. Есть поле типа Blob, который имеет образ 8 КБ в каждой строке.

У меня уже есть он в доступе, но мое приложение занимает слишком много времени, а также иногда зависает, переходя в не отвечающую ситуацию.

Нужна срочная помощь, пожалуйста.

Что я уже пробовал:

Я пробовал использовать несколько типов запросов данных с помощью адаптера данных и считывателя данных, но это почти не имеет никакого значения.

[no name]

"Нужна срочная помощь, пожалуйста", это совсем не срочно.
"Я пробовал использовать несколько типов запросов данных", не уверен, как вы думаете, что делает это" срочным " или вопросом. Это называется "исследование", и это ваше исследование делать.

Garth J Lancaster

похоже, вам нужно оптимизировать свои данные для поиска или сделать их иерархическими / загружаемыми по требованию - мы можем сказать вам использовать "любую базу данных", но если схема не будет нормализована/оптимизирована, это не будет иметь ни малейшего значения

. и вы на самом деле не показываете свою схему, индексы и т. д.

Michael_Davies

Какой метод вы используете для доступа к базе данных; если вы используете наборы записей ADO и т. д.Фильтр будет мучительно медленным, открытие набора записей с помощью SQL-запроса значительно повышает скорость.

kmoorevs

Кроме того, какой драйвер вы используете? ODBC печально известны своей медлительностью. OLEDB гораздо быстрее.

1 Ответов

Рейтинг:
1

OriginalGriff

Нет "одной базы данных", которая была бы лучше всех остальных - она будет зависеть от данных, запроса, вашего компьютера, того, как вы получаете доступ к файлу базы данных, что вы делаете с данными после этого, и множества других факторов, таких как "должна ли это быть многопользовательская БД?" - ни о чем из этого мы не имеем ни малейшего представления, потому что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.

Начните с профилирования вашего кода, чтобы выяснить, где он медленный и насколько именно медленный: вы можете сделать это вручную с помощью класса Stopwatch, если у вас нет доступа к профилировщику.
Когда вы знаете, что такое медлительность и насколько она медлительна,вы можете начать думать об ее оптимизации - но не раньше!