powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Опрос га скорость - DataGridView+BindingSource+ у кого что?
20 сообщений из 20, страница 1 из 1
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34893519
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! Иногда возникает необходимость показа реестра на 100 000 записей . Обычная связка
Код: plaintext
1.
2.
3.
4.
DataGridView +BindingSource + table 
// заполняем
SqlDataAdapter adapter = new SqlDatAdapter(command, conn);
adapter.Fill(table);
выполняется несколько минут. Какие варианты ускорения вы используете?
Спасибо за ответы
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34893593
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уж _действительно_ необходимо столько много показывать, то профайлером посмотрите для начала, где затык.
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34893630
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill Great
варианты ускорения

1. Оптимизация выборки из БД как таковой.
2. http://www.ibase.ru/devinfo/dontdoit.htm]Paging (п. 2)
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34893684
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! При одной и той же выборке из БД возможны разные объекты в которые эта выборка попадает. Причем выборка идёт из одной таблицы - что то типа
Код: plaintext
select * from MyTable order by forderby
Понятно что читаем данный с сервера SqlDataReader
Код: plaintext
1.
2.
3.
4.
5.
using (SqlCommand command = new SqlCommand("select ....", conn))
using (SqlDataReader reader = command./ExecuteReader())
{
  // а здесь могут быть вараианты куды ложить!
} 

Так куды ?
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34893855
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблемы явно у многих
Тормоза с dataggridview
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34894700
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ау!!! Наверное не хотят делится ;-(((( Ведь вроде не хитрое дело что типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class MyRow {
string _f1;
public string f1 {
get { return -f1;}
set {_f1 = value}
};
....

}

List<MyRow> MyTable = new List<MyRow>();
 BindingSource.DataSource = MyTable;

Но быстрее ли это заполнять?
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34894891
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill GreatНо быстрее ли это заполнять?
Да попробуйте уже! Третий час какого-то откровения ждете. Уже можно было бы три теста написать.
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34894910
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Табля в датасете? Если да - попробуй создать отдельно и загрузить ридером
DataTable tb = new DataTable("MyTable");
tb.Load(rd);
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34895057
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч Bill GreatНо быстрее ли это заполнять?
Да попробуйте уже! Третий час какого-то откровения ждете. Уже можно было бы три теста написать.
Тест то ещё вчера написали, но три тысячи индусов не так просто на кривой объехать! Пока получается медленнее :-((( Значти здесь важны тонкости, посему "опрос на скорость"
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34895485
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill Great <nospam@sql.ru>;
Иногда возникает необходимость показа реестра на 100 000 записей

Пока кому? и для чего?
ИМХО чет неправильно с архитектурой приложения.


Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34895644
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот при загрузке данных - скорее всего у тебя сразу все в грид отображает.
Попробуй вообще грид от таблицы отключить и загрузить данные в таблицу, уверен произойдет это достаточно быстро, а вот само отображение данных в гриде будет тормозить.
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34895732
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Bill Great
> ... Какие варианты ускорения вы используете? ...

Применяю страничную подкачку. Страницу выборки загружаю в DataTable локальной DataSet используя SqlDataReader.

С уважением, Владимир.
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34898195
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То что можно грид в виртуальной моде использовать - это понятно! Но есть мнение что основной тормоз связки

Код: plaintext
DataGridView+BindingSource+DataTable

Есть "навороченная" структура Datatable. Более того, по слухам, крутые программеры пользуются вместо таблиц списками . Поэтому была идея опроса . Но просто так секретов никто не выдаст. Так что тема закрыта!
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34898227
Sergey Tokarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eJackВот при загрузке данных - скорее всего у тебя сразу все в грид отображает.
Попробуй вообще грид от таблицы отключить и загрузить данные в таблицу, уверен произойдет это достаточно быстро, а вот само отображение данных в гриде будет тормозить.
По моим наблюдениям, как раз наоборот :)
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34898664
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill Great
Есть "навороченная" структура Datatable.

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

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34926732
Sinix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хе-хе-хе... за те 2 года, что я [censored] с этими [censored] [censored] [censored] датагридами, гридвьювами и прочим прочим прочим, у меня лично ни разу не возникало надобности выводить пользователю 10^5 записей. Что он с ними делать будет???

Уж поверьте, поиск и загрузка по фильтру всяко быстрее будет.

Если всё же НАДО, то:

private void Fill()
{
bindingSource.RaiseListChangedEvents = false;
// here goes your fill operation.
bindingSource.RaiseListChangedEvents = true;
bindingSource.ResetBindings(false);
}

Пишу по памяти, свойство/метод могут зваться по-другому. Выставлять RaiseListChangedEvents надо для всех bindingSource, напрямую прибинденных к заполняемым табличкам.

Я предпочитаю выставлять вообще для всех bindingSource на форме, пока что-то не сталкивался с необходимостью отображать данные с 2 разных DataSet'ов на 1 форме.

Имхо задача изначально кривая.
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34928656
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравнительный тест
здесь
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #34928918
DB2Adventurer_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, что у вас тормозит? Загрузка, сортировка, фильтрация, отображение? Покажите код который вас не устраивает.
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #35036261
Rockie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возможно поможет отключение выравнивания по содержимому ячеек. Это предположение, не проверял.

Код: plaintext
1.
2.
3.
4.
5.
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader;

// добавили данные

// выровняли по содержимому
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
...
Рейтинг: 0 / 0
Опрос га скорость - DataGridView+BindingSource+ у кого что?
    #35038459
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DB2Adventurer_Собственно, что у вас тормозит? Загрузка, сортировка, фильтрация, отображение? Покажите код который вас не устраивает.
Речь в том тесте шла о том что если заменить DataTable списком то возможно получить существенное ускорение за счёт более простой структуры. В тесте получился странный результат. особой разницы что заполнять таблицу или список не найдено, но обнаружился пороговый характер выполнения запроса типа
Код: plaintext
 select top n * from mytable
Вот и всё!
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Опрос га скорость - DataGridView+BindingSource+ у кого что?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]