|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
Работаю в Oracle. И даже в MariaDB таких проблем не замечал. И так MS SQL. база не моя, нужно принять решение, что с ней делать, и так первый шаг, удалить данные из большой таблицы. Обычная таблица. 20 Fields, 2 = varchar, 17 integer, 1 int index, в таблице еcть больше 12 000 000 записей. PC: I7 3 ГГц, память 16 Гб, SSD диски. в работе комп, не ракета конечно, но летает. и так DELETE FROM таблица сколько должно быть затрачено времени в MS SQL для того чтобы удалить 12000000 записей. выполнялось 3 часа, нагрузки на ПК не было, на базу тоже. Просто в одной сессии транзакция висела 3 часа, после чего таблица стала пустой. в отчетах Managament Studio и в Trace на базу в процессе удаления ни чего особенного не было. и еще РАЗ СКОЛЬКО ДОЛЖНО БЫТЬ ЗАТРАЧЕНО ВРЕМЕНИ РЕАЛЬНО НА ЧИСТКУ ТАКОЙ ТАБЛИЦЫ? P.S. я не понял, почему так долго, например в Oracle, даже в 10-м. я такого не помню, ну когда то чистил логи по несколько миллионов записей, да что говорить, в пару моих проектах, которые запущены в 2004 и 2005 годах, сегодня 2 и даже 3 млрд записей в рабочих таблицах, и народу в них ежедневно по 1000, удаление от баз тоже от 10 метров до 1500 километров. И таблицы эти летают на обычных серверах пролиантах, достаточно старых. Да конечно если сделать select count(*) from dual, то сессия вероятно умрет в рабочие часы, но выборка и фильтры и вообще все работает. ни каких архивов данных, при желании, а это даже больше необходимость в любой момент из пару сотен форм всегда можно выбрать нужную и посмотреть нужный период, например год 2006, или собрать и обработать динамику за несколько лет. это работает и достаточно быстро. и я боюсь представить, если все это перетащить на MS SQL из Oracle глядя на то как удаляются данные. кто что скажет про MS SQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 23:19 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63, Знаете, что такое FK? Или что такое truncate? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 23:40 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
Delete и Select - две большие разницы. То, что у тя там "из пару сотен форм всегда можно выбрать нужную и посмотреть нужный период," никак не аргумент. Delete в журнал пишется. А то, вдруг, ты передумаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 05:31 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
совершенно согласен с комментариями, тогда я расширю информацию. вместе с базой пришел софт, исходные тексты еще не получил, для того чтобы облегчить базу хотел почистить логи в базе, но в софте есть очистка историй, именно софтом это все чистится, именно софтом я это все и запускал, программист, который должен передать исходные тексты уверяет, что там обычное удаление через DELETE целиком данные из таблицы. и даже пусть так удаляются, у меня остался вопрос?, сколько транзакция на удаление может длиться по времени, если там действительно просто DELETE. P.S. дополнение, которое мне не очень понравилось, подсказал это автор сегодня. соединение софта с базой через ODBC драйвер. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 08:10 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 сколько транзакция на удаление может длиться по времени, если там действительно просто DELETE.Чего ждет сессия? Освобождения блокировки может ждать до второго пришествия. yemets63и я боюсь представить, если все это перетащить на MS SQL из Oracle глядя на то как удаляются данные.Не перетаскивайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 08:23 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
SERG1257 yemets63 сколько транзакция на удаление может длиться по времени, если там действительно просто DELETE. Освобождения блокировки может ждать до второго пришествия. yemets63и я боюсь представить, если все это перетащить на MS SQL из Oracle глядя на то как удаляются данные.Не перетаскивайте. здесь один заказчик с MS SQL хочет получить такое же как у нас в Oracle, но чтобы все работало в MS SQL. И все натянуть в их общую базу. Софт создан на Delphi, внешне все без ошибок, но любое обращение к базам, какие то тормоза, и потом они через ODBC соединяются, у нас трехзвенка, просто базы не перетащить, надо еще в софте много менять, или у них, или у нас. но их текст ни я ни мои коллеги еще не видели. но мне все же интересен среднее количество времени, сколько нужно чтобы прибить 12000000 записей. сегодня хочу попробовать создать тоже в Oracle и попробовать удалить. пишу скрипт для создания динамических записей, также хочу добавить несколько связанных таблиц чтобы нагрузка была побольше ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 08:46 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 здесь один заказчик с MS SQL хочет получить такое же как у нас в Oracle, но чтобы все работало в MS SQL. И все натянуть в их общую базу. Софт создан на Delphi, внешне все без ошибок, но любое обращение к базам, какие то тормоза, и потом они через ODBC соединяются, у нас трехзвенка, просто базы не перетащить, надо еще в софте много менять, или у них, или у нас. но их текст ни я ни мои коллеги еще не видели. но мне все же интересен среднее количество времени, сколько нужно чтобы прибить 12000000 записей. сегодня хочу попробовать создать тоже в Oracle и попробовать удалить. пишу скрипт для создания динамических записей, также хочу добавить несколько связанных таблиц чтобы нагрузка была побольше 1. ODBC на скорость работы сервера не влияет, двухзвенка то же. 2. Приведите DDL таблицы, на ней может триггеры на Delete висят. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 09:10 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
на стрёмном компе с винтом возратом 15 лет удаление происходит 155 секунд из 4 минут общего времени наверное, кто-то что-то делает не так или не понимает, что делает и что вообще происходит ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 09:52 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 программист, который должен передать исходные тексты уверяет, что там обычное удаление через DELETE целиком данные из таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 10:00 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
Ennor Tiegael yemets63 программист, который должен передать исходные тексты уверяет, что там обычное удаление через DELETE целиком данные из таблицы. и после каждой delete отдельным запросом select count(*) .. where [key] = ... проверяет, что строка реально удалилась... а может к таблице через фк прицеплено еще 100500 таблиц с млрд записями и включенным каскадным удалением... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:00 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 совершенно согласен с комментариями, тогда я расширю информацию. вместе с базой пришел софт, исходные тексты еще не получил, для того чтобы облегчить базу хотел почистить логи в базе, но в софте есть очистка историй, именно софтом это все чистится, именно софтом я это все и запускал, программист, который должен передать исходные тексты уверяет, что там обычное удаление через DELETE целиком данные из таблицы. и даже пусть так удаляются, у меня остался вопрос?, сколько транзакция на удаление может длиться по времени, если там действительно просто DELETE. P.S. дополнение, которое мне не очень понравилось, подсказал это автор сегодня. соединение софта с базой через ODBC драйвер. Всё, что вы написали выше - похоже вам и на *** не нужно. Пустите профайлер - увидите запросы, сходите в базу - увидите всё, что там на**еверчено и почитайте ко всему этому всё, что вам уже написали выше. Извините за езыг пушкенда ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:04 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
Ролг Хупин ...Пустите профайлер - увидите запросы, сходите в базу - увидите всё, что там на**еверчено... это самое сложное проще написать вопрос на форум. там же телепаты сидят, которые по нику вопрошающего реконструируют схему бд, наполнение данными, проблемные запросы... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:34 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63, авторсколько должно быть затрачено времени в MS SQL для того чтобы удалить 12000000 записей. зависит от мощности железа, прежде всего объем оперативной памяти и производительности дисков, зависит от организации хранения данных. Может занимать от нескольких минут до нескольких часов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 12:08 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
Владислав Колосов yemets63, авторсколько должно быть затрачено времени в MS SQL для того чтобы удалить 12000000 записей. зависит от мощности железа, прежде всего объем оперативной памяти и производительности дисков, зависит от организации хранения данных. Может занимать от нескольких минут до нескольких часов. В зависимости от наличия FK, каскадных операций на этих FK, наличия индексов на этих FK, триггеров, параллельной нагрузки, характера этой параллельной нагрузки, и, например, уровней изоляции, которые эта параллельная нагрузка использует в типичных случаях - верхняя граница вообще не просматривается. Лично видел систему, в которой удаление одной записи в некой главной таблице шло 2 (две) минуты . При том что, сервер был на железяке, на ССД, и с каким то космическим объемом памяти, вроде 1 Тб. ... Позвали "хотим проконсультироваться, чота тормозит". :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:00 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
Удаляйте записи порциями (размер порции можно подобрать) Код: sql 1. 2.
Чтобы лог не слишком увеличивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:18 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 но мне все же интересен среднее количество времени, сколько нужно чтобы прибить 12000000 записей. Создайте табличку на вашем сервере без зависимостей, без блокировок, без триггеров, заполните ее вашими данными и вашими индексами и запустите удаление. В худшем случае получите ответ за три часа. И еще один момент память 16 Гб, У вас сервера лицензированы? Если да, то стоимость лицензий кроет стоимость лишних 100Gb памяти как бык овцу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:15 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
вчера смотрел код и все вместе с базой, я немножко шокирован. суть таковая, здесь это писали, что удаление идет каждой записи отдельно в цикле, на этом срабатывает триггер который записывает информацию об удалении ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 08:19 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 вчера смотрел код и все вместе с базой, я немножко шокирован. суть таковая, здесь это писали, что удаление идет каждой записи отдельно в цикле, на этом срабатывает триггер который записывает информацию об удалении 12 млн транзакций больше чем 1 транзакция. :) т.е. от сервера, такое время удаления не зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 09:10 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 удаление идет каждой записи отдельно в цикле, на этом срабатывает триггер который записывает информацию об удалении ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 19:27 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63, а Вы: Майкрософт, Майкрософт... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 20:10 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
Владислав Колосов, нет ну в целом мне майкрософт нравится, я не плохо рулю линуксе, но как бы все юзверы юзают майкрософт, ну и логично но саму базу MS SQL я недолюбливаю, хотя уже третий год в ней, но до этого был Oracle. ну а дальше лирика о старых проектах. сначала я не знал Oracle в итоге оказалось его не нужно знать, его нужно любить и понимать, и это так. Я очень люблю Oracle с учетом всех его негативных сторон. И особенно его PL SQL. и ни какой фантазии, умные скрипты, и далее, и в ноябре будет 20 лет как я получил первый сертификат от Oracle, жестокий и сложный экзамен в США. ну а дальше по накатанной. просто там скрипт сделал, если правильно, то и забыл. как я писал, у меня есть много проектов, но больших не много, но пару больших первых на оракл запусти в 2004 и 2005 году и они в фаворе и сейчас. к сожалению контракты в россии были сделал и забыл. но заказчики иногда говорят о достижении баз и вообще проекта, что приятно, еще бы денег подкидывали. к сожалению о новых проектах нельзя рассказывать, везде прописано что это запрещено, и как развиваться, я не знаю, ну например при смене работе, в контрактах написано не разглашать 5, а то и 10 лет. но суть самих контрактов банальна и не особо интересна, и они все публикованы в интернете. а об какой то безопасности и речи нет, все теперь в Ethernet сидит и там свои безопасники. что будет дальше я не знаю, может еще 20 лет и я успею уйти на высокооплачиваемую пенсию, которая будет равна сумме коммунальных услуг?!:) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 21:05 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 но саму базу MS SQL я недолюбливаю, хотя уже третий год в ней А Оракл за каких то 20 лет узнали и полюбили :-) Я вот 20 лет в сиквеле, и один год в Оракле, и абсолютная беспомощность, примитивность его построителя планов запросов пока выбешивает... Ораклу 12 до 2005 Сиквела как до луны, недосягаемо. Про новые версии сиквела я не говорю. Движок, правда, хорош, ничего не скажешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 23:54 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63 вчера смотрел код и все вместе с базой, я немножко шокирован. суть таковая, здесь это писали, что удаление идет каждой записи отдельно в цикле, на этом срабатывает триггер который записывает информацию об удалении Ну ,вот, придерживайтесь этого современного подхода, не поддавайтесь на всякие "советы", которые здесь могут вам давать. У вас т.н. смарт-система! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2021, 09:52 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63, Оракл обычно любят те, кто не может соскочить с императивной парадигмы разработки, PL - это процедурный язык, он легко "совмещается" в голове с разного рода бейсиками и тому подобными. А обработка таблиц сводится к понятным циклам перебора строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2021, 12:11 |
|
тривиальный вопрос о затрате времени на удаление записей из таблицы
|
|||
---|---|---|---|
#18+
yemets63, " нет ну в целом мне майкрософт нравится , я не плохо рулю линуксе, но как бы все юзверы юзают майкрософт, ну и логично но саму базу MS SQL я недолюбливаю, хотя уже третий год в ней, но до этого был Oracle. ну а дальше лирика о старых проектах." 1. Билл Гейц, ну, ты понял теперь лошара? 2. что означает ваша фраза "я не плохо рулю линуксе" - как-то вообще смысл не просматривается, видимо, глубоко профессиональное высказывание 3. "но саму базу MS SQL я недолюбливаю" - как бы начать помягче, "самой базы MS SQL", которую вы, видимо, справедливо, недолюбливаете, поскольку "неплохо рулю линуксе" - ее нет в природе, просто даже самого понятия нет. Перерулили линуксе, бывает. 4. про лирику о ваших старых проектах даже рука не поднимается писать, там для рулителей линуксе и баз MS SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2021, 14:47 |
|
|
start [/forum/topic.php?fid=46&msg=40103209&tid=1684216]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 376ms |
0 / 0 |