powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость работы ADO и ADO.Net
11 сообщений из 11, страница 1 из 1
Скорость работы ADO и ADO.Net
    #33105544
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавить запись в таблицу. Файл .mdb

Код: plaintext
1.
2.
3.
4.
5.
'ADO.Net    
 For i =  1  To  50000 
     cmd.CommandText = "INSERT INTO t ( ID ) SELECT " & i & " AS i;"
     cmd.ExecuteNonQuery()
 Next
Код: plaintext
1.
2.
3.
4.
5.
6.
'старый добрый ADO
For i =  1  To  50000 
      rs.AddNew()
     rs("ID").Value = i
     rs.Update()
Next

Со старым добрым ADO это выполняется почти в 14 (четырнадцать раз!) быстрее.

И где собака порылась? :)
PS. К поиску по форуму просьба на отправлять. Не работает он у меня :(
Шайтан
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33105572
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.нет походу в скорости всегда отстает, в этом его изюминка)))
а для чего делать SELECT " & i & " AS i;? нельзя разве просто INSERT INTO t ( ID ) values ( " & i & ")"?


_______________________________________________________
Господи, сколько ещё не сделано... А сколько ещё предстоит не сделать...!
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33105609
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лиман Артём
можно и "... values (" & i & ")", только на скорость это не влияет.
"... SELECT 5 AS i" - именно так "рисует" Access, если создать запрос в конструкторе. Для чистоты эксперимента, так сказать, полностью и повторил :)
Шайтан
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33105914
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
'ADO.Net    
 For i =  1  To  50000 
     cmd.CommandText = "INSERT INTO t ( ID ) values i;"
     cmd.ExecuteNonQuery()
 Next
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33106309
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для чистоты опыта, надо бы СommandText формировать по нормальному, а не создавать 50000 раз новую строку...

с уважением...
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33106337
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ADO.Net
 cmd.CommandText = "INSERT INTO t ( ID ) SELECT ? AS i;"
 OleDbParameter p = new OleDbParameter('par', OleDbType.Integer)
 For i =  1  To  50000 
     p.Value = i
     cmd.ExecuteNonQuery()
 Next

А так?
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33106341
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
старый добрый ADO
Dim cmd as ADODB.Command
'коннект и т.п.
For i =  1  To  50000 
  cmd.CommandText = "INSERT INTO t ( ID ) SELECT " & i & " AS i;"
  cmd.Execute
Next
Или так?
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33107455
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Артем1
медленно и так, и эдак.
Короче, тормозит Jet на SQL операциях :(
Шайтан
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33108660
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шайтанмедленно и так, и эдак.
Короче, тормозит Jet на SQL операциях :(
Но-но!
Поаккуратнее с наездами на джет :)

Через рекордсеты записи добавлять получается быстрее и в случае использования например ADODB+MS SQL
Просто у Jet эта разница ощутимее (кстати, в любом варианте быстрее сиквела)
А если вместо ADODB.Recordset использовать DAO.Recordset - то еще на порядок ускорение получишь.

Так что не "тормозит Jet на SQL операциях", а "летает на прямом доступе"
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33110337
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
ты забыл добавить в завершение своего поста
Я ПРАВ ИЛИ Я ПРАВ?!
Шайтан
...
Рейтинг: 0 / 0
Скорость работы ADO и ADO.Net
    #33111056
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шайтан2ЛП
ты забыл добавить в завершение своего поста
Я ПРАВ ИЛИ Я ПРАВ?!
Шайтан
второе.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость работы ADO и ADO.Net
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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