2010-09-18 4 views
0

Есть ли способ получить 4 миллиона записей с SQL Server 2005 менее чем за 60 секунд?оптимизация sql select statement

Мой стол состоит из 15 колонн. Каждый из них имеет тип данных varchar (100), и первичный ключ отсутствует.

+3

Примечание для неиндийцев: «lakh» - 100 000. –

+0

@ Jon Skeet: Вы знаете урду/хинди или переводчик Google. – NAVEED

+0

Вам нужно указать более подробную информацию в своем вопросе. Какие 4 миллиона записей вы хотите? Зачем вам нужно собрать 4 миллиона записей одновременно? –

ответ

2

Предполагая, что вы хотите, чтобы все содержимое таблицы попробуйте это первая:

SELECT col1, col2, ... col15 FROM your_table 

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

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

+1

Я просто ** люблю ** сетки с 4 миллионами строк в них - делает прокрутку такой забавы !! –

+0

:-) да .. более забавно, когда вы прокручиваете, когда строки все еще набираются .. :-) –

0

Фактически последнее время я сделал что-то подобное, я разместил раскрывающийся список фильтра, а затем записи будут отфильтрованы с использованием выбора пользователя фильтра. Я также предоставляю вариант «Все» в раскрывающемся списке, который я покажу пользователю, например «Извлечение всех записей будет немного медленным. Хотите продолжить?». И в любом случае, как предложил Марк, я использовал пейджинг.