|
|
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
Hi! Проводилось тестирование связки DataGridView+BindingSource+ a) DataTable заполняемый SqlDataAdapter б) Список List заполняемый SqlDataReader. Для эксперимента была взята достаточно "широкая" таблица - около 60 полей из которых половина varchar. Далее загружалось полследовательно 20 тыс записей, 50....и так до 300 тыс. записей. Мерились следующие показатели - а) временя ExecudeReader() б) время reader.Read() без занесения данных в) заненисени д) Adapter.Fill Число записей менялось выражением top Код: plaintext Записей ExcecuteRead() reader.Read() Заполнение Adapter.Fill20 тыс 2 сек 2 сек50 тыс 1 сек 2 сек 5 сек 5 сек100 тыс 1 сек 4 сек 8 сек 11 сек125 тыс 2 мин 20 сек 9 сек 12 сек 2 мин 31 сек150 тыс 2 мин 20 сек 10 сек 12 сек 2 мин 40 сек200 тыс 2 мин 20 сек 14 сек 17 сек 2 мин 42 сек Самое удивительное скачок выполнения ExecuteReader Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 12:48 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
Кстати - как тут оформляют таблицы?используют в качестве разделителя запятую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 12:58 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
sashka304Кстати - как тут оформляют таблицы?используют в качестве разделителя запятую Записей ExcecuteRead() reader.Read() Заполнение Adapter.Fill20 тыс <1 сек <1сек 2 сек 2 сек50 тыс 1 сек 2 сек 5 сек 5 сек100 тыс 1 сек 4 сек 8 сек 11 сек125 тыс 2 мин 20 сек 9 сек 12 сек 2 мин 31 сек150 тыс 2 мин 20 сек 10 сек 12 сек 2 мин 40 сек200 тыс 2 мин 20 сек 14 сек 17 сек 2 мин 42 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 13:40 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
ещё добавление 1 Количество записей регулировалось через TOP, то есть если нужно было 100000 записей то запрос был таков select TOP 100000 * from mytable order by f1 2. Скачок в выполнении ExecuteReader() зависел от заполненности таблицы. Если поля varchar были заполнены то начинался раньше ( 60 000 записей) чем при выборки из таблицы где эти поля все были забиты длинными словами. Скачок - это самое удивительное! Попробуйте сами! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 13:42 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
поверьте,смысл имеет в вашем тесте ,хотя ничего не имеет смысла тут.поэтому никто обсуждать это не желает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 13:46 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
AlexeiKповерьте,смысл имеет в вашем тесте ,хотя ничего не имеет смысла тут.поэтому никто обсуждать это не желает. Коль уж вы написали - вы чем пользуетесь - списками или DataSet? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 14:07 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
Bill Great 2. Скачок в выполнении ExecuteReader() зависел от заполненности таблицы. Если поля varchar были заполнены то начинался раньше ( 60 000 записей) чем при выборки из таблицы где эти поля все были забиты длинными словами. Скачок - это самое удивительное! Попробуйте сами! Не думали что скачек зависит исключительно от оперативной памяти? Может она кончилась, пошел своп, получили большее время на большей выборке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 17:09 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
Адаптер читает данные тоже ридером. Разница в производительности м.б. из-за датасета. Перед вставкой данных в таблицу датасета проверяется соответствие вставляемых данных, сохраненным в датасете ограничениям - FK & constraints... Поэтому перед adapter.Fill() рекомендуется отключать эти ограничения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 11:00 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
Думающий Bill Great 2. Скачок в выполнении ExecuteReader() зависел от заполненности таблицы. Если поля varchar были заполнены то начинался раньше ( 60 000 записей) чем при выборки из таблицы где эти поля все были забиты длинными словами. Скачок - это самое удивительное! Попробуйте сами! Не думали что скачек зависит исключительно от оперативной памяти? Может она кончилась, пошел своп, получили большее время на большей выборке. Подумаем вместе :-))) ExecuteReader() ещё ничего не скачал! Кстати сейчас посмотрю! Но скачок разителен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 11:52 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
Bill Great Думающий Bill Great 2. Скачок в выполнении ExecuteReader() зависел от заполненности таблицы. Если поля varchar были заполнены то начинался раньше ( 60 000 записей) чем при выборки из таблицы где эти поля все были забиты длинными словами. Скачок - это самое удивительное! Попробуйте сами! Не думали что скачек зависит исключительно от оперативной памяти? Может она кончилась, пошел своп, получили большее время на большей выборке. Подумаем вместе :-))) ExecuteReader() ещё ничего не скачал! Кстати сейчас посмотрю! Но скачок разителен! Нет! Я не вижу что бы память занималась! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 11:59 |
|
||
|
Тестирование производительности Adapter.Fill и заполнение списка
|
|||
|---|---|---|---|
|
#18+
вам в форум по MS SQL SERVER надо. вам сразу ,укажут ,и вы потеряете весь пыл разбираться . а то у вас больше эмоций,чем смысла :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=17&gotonew=1&tid=1352534]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 449ms |

| 0 / 0 |
