Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Скажите пожайлуста что будет быстрее работать / 14 сообщений из 14, страница 1 из 1
05.05.2004, 17:51
    #32507888
MPoil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
Drop table или docmd.deleteobject?
и в чём разница
...
Рейтинг: 0 / 0
06.05.2004, 10:14
    #32508526
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
я так понимаю речь идет про adp?
если да, то быстрее Drop table, т.к. в этом случае удалять будет сервак.
через docmd удаляет клиент, что по определению медленней.
(хотя в частном случае может быть и одинаково)
...
Рейтинг: 0 / 0
06.05.2004, 10:28
    #32508556
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
2 sasha_1
я так понимаю речь идет про adp?
Непонятно почему ты так понимаешь

через docmd удаляет клиент, что по определению медленней.
Ага. Особенно в случае adp - клиент удаляет

2 MPoil
А собственно в чем проблема самому проверить скорость?
Создаешь табличку - удаляешь табличку. Миллион раз одним способом, миллион раз другим. По разнице во времени судишь о том, что быстрее работает.
...
Рейтинг: 0 / 0
06.05.2004, 11:26
    #32508706
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
авторНепонятно почему ты так понимаешь
иначе в чем смысл вопроса?

авторАга. Особенно в случае adp - клиент удаляет
очень смешно. а кто же? сервер команды docmd не знает. значит ее обработкой занимается клиент. (ессесьно физически удаление делает сервак)
...
Рейтинг: 0 / 0
06.05.2004, 11:43
    #32508741
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
2 sasha_1
иначе в чем смысл вопроса?
А что, в mdb отменили Drop Table?

сервер команды docmd не знает
Сервер не знает много чего. Например сервер не знает OpenRecordset. Или Execute. И что, все это (в случае adp) на клиенте выполняется?

(ессесьно физически удаление делает сервак)
И поэтому совершенно непонятно - откуда же выигрыш в скорости должен взяться?
На сервере так или иначе нужно таблицу убить.
На клиенте так или иначе нужно что-то сделать - или DoCmd.DeleteObject, или Command.Execute "Drop Table"
С чего ты взял, что накладные расходы на создание объекта Command меньше, чем накладные расходы при использовании готового объекта DoCmd? Может и так, а может и наоборот.
...
Рейтинг: 0 / 0
06.05.2004, 11:53
    #32508756
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
по этому поводу могу привести простой пример.
в adp открой таблицу в которой хотя бы пару сотен тысяч записей.(всмысле руками - не кодом)
выдели все записи и нажми удалить.
поверь ожидание будет долгим. потому как удалением управляет клиент.
я собственно об этом.
...
Рейтинг: 0 / 0
06.05.2004, 11:56
    #32508762
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
Угу, потому что удаляется там построчно. Profiler заюзай и посмотри
...
Рейтинг: 0 / 0
06.05.2004, 12:00
    #32508775
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
дык о том я и говорю.
может конечно криво выражаюсь.
...
Рейтинг: 0 / 0
06.05.2004, 12:02
    #32508781
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
Блин, если на сервере ты запустишь построчное удаление из такой таблицы, то время выполнения будет тоже немалое
...
Рейтинг: 0 / 0
06.05.2004, 12:57
    #32508934
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
Сомневаюсь что Drop Table бывает построчным
...
Рейтинг: 0 / 0
06.05.2004, 13:02
    #32508940
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
они перепутали delete from table с drop table
...
Рейтинг: 0 / 0
06.05.2004, 13:14
    #32508978
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
Код: plaintext
1.
в adp открой таблицу в которой хотя бы пару сотен тысяч записей.(всмысле руками - не кодом)
выдели все записи и нажми удалить.

drop table тут ессно никаким боком. Я отвечал на приведенную выше цитату
...
Рейтинг: 0 / 0
06.05.2004, 13:27
    #32509018
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
пример приводился не к вопросу.
а просто для демонстрации разного подхода к выполнению задания.
одно дело задать серваку команду напрямую (его "языком"), и совсем другое попросить об этом клиента. Очень часто клиент выбирает не самый оптимальный путь решения (собственно об этом и пример).
...
Рейтинг: 0 / 0
06.05.2004, 13:35
    #32509046
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите пожайлуста что будет быстрее работать
Ну так таким путем ты не просишь его удалить всю таблицу, а просишь удалить выделенные записи. А уж то, что ты выделил все записи - никого не колышет.
Что DoCmd.DeleteObject, что Command.Execute "Drop Table" - все они делают одно и то же в итоге: отправляют серверу команду на удаление таблицы нах.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Скажите пожайлуста что будет быстрее работать / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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