2016-03-30 2 views
0

Моего кодасущность-рамка не удается запустить команду подсчета, когда данные количества записей

var numberOfStudents = _context.Student.Count(); 

В базе данных около 4.000.000 записей. Я попытался

var numberOfStudents = _context.Student.Count(); 

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

ответ

0

Пожалуйста, запустите этот запрос и скажите мне, сколько времени потребуется, чтобы выполнить

Select Count(*) from Students 

Кроме того, пожалуйста, напишите вашу структуру таблицы, включая все индексы. Я предполагаю, что добавление подходящего индекса в таблицу решит проблему, но мне нужна дополнительная информация. Скорее всего, добавление любого NonClustered Index сделает это быстро. См. SQL count(*) performance.

+0

Спасибо за помощь. Я запустил [Select Count (*) от студентов], но он провел много времени. Я попробовал добавить NonClustered Index для всех colume, но это все еще ошибка. Кроме того, я решил проблему команды count, но. Эта ошибка времени, когда я вызываю [_context.Students.Skip (Offset) .Take (Limit);] –

+0

Как вы решили проблему Count? Сколько строк вы пытаетесь пропустить() и Take()? Каков порядок учеников? У вас есть полезный индекс для этого запроса? – Alireza

+0

Я использовал http://stackoverflow.com/questions/11130448/sql-count-performance, который вы предложили для решения команды Count. Skip() и Take() любое значение, ошибка все еще возникает. Прежде чем пропустить и принять, я запустил _context.Students..OrderBy (день рождения); , Что такое «полезный индекс для этого запроса». Некластерный индекс? –

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