Ну, даже SELECT COUNT (*) FROM Таблица
будет довольно неэффективной, особенно на больших таблицах, поскольку SQL Server действительно не может ничего сделать, кроме полного сканирования таблицы (сканирование с кластерным индексом ).
Иногда достаточно знать приблизительное количество строк из базы данных, и в таком случае может быть достаточно:
SELECT SUM (used_page_count ) * 8 AS SizeKB, SUM (row_count) AS [RowCount], OBJECT_NAME (OBJECT_ID) AS TableName FROM sys.dm_db_partition_stats WHERE OBJECT_ID = OBJECT_ID ('YourTableNameHere') AND (index_id = 0 ИЛИ index_id = 1) GROUP BY OBJECT_ID
Это проверит представление динамического управления и извлечет из него количество строк и размер таблицы, учитывая определенную таблицу. Он делает это путем суммирования записей для кучи (index_id = 0) или кластеризованного индекса (index_id = 1).
Это быстро, легко использовать, но не гарантируется точность 100% или обновляться. Но во многих случаях это «достаточно хорошо» (и на сервере накладывается гораздо меньше нагрузки).
Может быть, это сработает и для вас? Конечно, чтобы использовать его в EF, вам придется обернуть это в хранимой процедуре или использовать прямой вызов «Выполнять SQL-запрос».
Marc
См. [D0] Руководство по разветвлению и объединению Visual Studio TFS для некоторых замечательных информация о рекомендуемых методах ветвления.
Или Как: Файлы и папки филиала (MSDN) для более явных инструкций по созданию этого диалога для создания ветки.
Новая версия Visual Studio 2010 и позже добавили поддержку этой функции.
[!d0]