2010-10-04 6 views
3

Я работаю с приложением формы C# и использую mysql в качестве задней части. У меня есть сотрудник таблицы. В том, что у меня больше 2000 строк, это всего лишь пример, скорее всего, больше записи. Когда я извлекаю и фильтрую данные из базы данных, мое приложение становится медленным. Есть ли другой способ получить базу данных с хорошей скоростью? Должен ли я достичь скорости с помощью Linq?Как ускорить извлечение данных из базы данных Mysql

ответ

1

Просто убедитесь, что вы выполняете фильтрацию в базе данных с помощью WHERE (если вы используете SQL для доступа к данным).

Если вы используете linq или нет, это не имеет большого значения, если SQL, который выполняется в базе данных, хорош (правильная фильтрация с использованием WHERE и индексов).

0

Как вы получаете данные сейчас? вы используете ado.net? но Хранимые процедуры с ado.net - это самый быстрый способ, я думаю, вы уверены, что извлечение данных является самым медленным, 2000 записей - это не такая большая таблица, поэтому, я думаю, ваши компоненты пользовательского интерфейса работают медленнее?

+0

Сохранены procs в MySQL быстрее, чем прямой запрос? В MSSQL не указано, что они (http://bloggingabout.net/blogs/adelkhalil/archive/2008/01/06/the-myth-of-stored-procedures-preference.aspx). –

+0

hmm ... интересная статья Майкл, я думал, что SP быстро, потому что он предварительно скомпилирован, но в статье говорится, что это не так ... –

0

2000 записей - относительно небольшая таблица. Каков размер каждой строки?

Извлечение/фильтрация из такой маленькой таблицы должна быть очень быстрой на уровне DB.

  • Просмотрите план запроса по вашему запросу и оптимизируйте свой запрос на его основе.

  • Особенно проверьте свои индексы и посмотрите, как они используются в вашем запросе, и если вам нужно добавить/изменить любой, чтобы они были оптимально использованы.

Если вы разместите свой запрос и его план выполнения, люди могли бы указать на некоторые особенности, как вы можете быть в состоянии улучшить его!

+0

также добавить структуру db и возможные индексы! –

0

Вы можете получить ускорение, используя ленивую загрузку (есть несколько обучающих программ через Интернет) или просто выберите те, которые вас интересуют.

0

Добавить индекс в свои поля, участвующие в JOINS и WHERE статей.

Смежные вопросы