powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Длительное выполнение запроса на удаление
16 сообщений из 66, страница 3 из 3
Длительное выполнение запроса на удаление
    #39388225
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShinА какой сейчас размер файла с базой? При налчии поля с двоичными данными очень быстро можно достигнуть предела в 2 Гб, после чего начинаются ошибки, тормоза и прочие чудеса.

Или у вас тормозит даже на одной записи на файле, который вы выложили?Размер тестовой БД - 35 МБ
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388227
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Baskakovпоказать сишный код. Вот прямо как написан . И оттрассировать )))))
Тестовый проект прилеплен к первому топику, вот кусок кода на удаление. Зависает на ADOCommand->Execute(), после отвисания переходит на строчку с while
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Query = "DELETE [DeviceId] FROM [DeviceData] WHERE [DeviceId] = " + IntToStr(DeviceId);

ADOCommand->CommandText = Query;
try {
	ADOCommand->Execute();
	while (ADOCommand->States == TObjectStates() << stExecuting)
		Sleep(100);
}
catch (Exception &exception) {
	String Text = "Ошибка:\n" + exception.Message.Trim() + ".\n\nSQL-запрос:\n" + Query;
	Application->MessageBox(Text.c_str(), String("Внимание!").c_str(), MB_OK|MB_ICONERROR);
	return;
}
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388228
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synton,

vmagВот немного видоизмененная тема и только ради того, чтобы where не ползал где не нужно...
- скачайте тупо из моего облака базу и без всяких изменений попробуйте как отработает...
Ссылка на измененную базу
https://cloud.mail.ru/public/LKu4/D8NQMWonq


Можете не пробовать... я в этой своей бд запустил ваш запрос и получил ваше время удаления больше 2-минут... Машина очень шустрая, W7 (64), акцесс 2003... жють... даже без where на OLE
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388234
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagМожете не пробовать... я в этой своей бд запустил ваш запрос и получил ваше время удаления больше 2-минут... Машина очень шустрая, W7 (64), акцесс 2003... жють... даже без where на OLEУже попробовал - зависает. Хотя идея была хорошая
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388238
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synton,
У меня такое ощущение, что перед удалением система пробует искать всё, что есть в системе, связанное с объектом в OLE и если на машине ничего нет, то она долго думает чо с этим объектом делать чтобы правильно его покоцать... не? ну или наоборот - если что-то есть... А что там лежит, если не секрет?
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388249
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagSynton,
У меня такое ощущение, что перед удалением система пробует искать всё, что есть в системе, связанное с объектом в OLE и если на машине ничего нет, то она долго думает чо с этим объектом делать чтобы правильно его покоцать... не? ну или наоборот - если что-то есть... А что там лежит, если не секрет?Я грешу на какой-нибудь процесс "дефрагментации" памяти или пересборку индексов ядром Access, и что этот процесс зависит от ОС (на Win10 не зависает). Данные - кривая замера параметра во времени
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388256
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synton,

Sleep(100)

Эта функция не определена стандартом ANSI С. Функция sleep() приостанавливает выполнение программы на время, задаваемое параметром time. Время задается в секундах.
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388258
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synton,

Да, похоже ваша прога не причем... раз я у себя без неё вышел на те же 2 минуты... я даже в своей измененной БД запускаю запрос на удаление тупо в самой таблице OLE где в where первичный ключ - и те же 2 минуты...
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388259
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

было уже, ремили, не помогло...
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388262
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagПЕНСИОНЕРКА,

было уже, ремили, не помогло...

попробуйте поставить Sleep(5)
может где-то еще этот параметр задается
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388266
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir BaskakovА вот такой драйвер

Microsoft.ACE.OLEDB.12.0
отсель взят сей
http://www.vlsoftware.net/documentation/exportizer/connection-strings-examples.htm Тормоза пропали на другом драйвере!!!
Код: plaintext
1.
String ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + DatabaseFile + ";Persist Security Info=False";
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388267
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКАпопробуйте поставить Sleep(5)
может где-то еще этот параметр задаетсяВообще без while запускал, не помогло
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388268
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagМожете не пробовать... я в этой своей бд запустил ваш запрос и получил ваше время удаления больше 2-минут... Машина очень шустрая, W7 (64), акцесс 2003... жють... даже без where на OLEvmag, можете на своей БД попробовать другой драйвер - ACE?
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388277
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Syntonvmag, можете на своей БД попробовать другой драйвер - ACE?

К сожалению нет... я сейчас в таком месте где и не комильфо, и возможностей мало...
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388306
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Synton]Vladimir BaskakovА вот такой драйвер

Microsoft.ACE.OLEDB.12.0

String ConnectionString = "Provider= Microsoft.ACE.OLEDB.12.0 ;Data Source=" + DatabaseFile + ";Persist Security Info=False";



а, мне так и подумалось.

старый jet драйвер идет со времен .mdb формата.
Для accdb - родной драйвер - ace.

Ну не суть, главное - отладили? ну и хорошо, приятной пятницы.
...
Рейтинг: 0 / 0
Длительное выполнение запроса на удаление
    #39388332
Synton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за участие в решении проблемы!
...
Рейтинг: 0 / 0
16 сообщений из 66, страница 3 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Длительное выполнение запроса на удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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