Форум программистов, компьютерный форум, киберфорум
SQLite
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.02.2019
Сообщений: 11

Обработать огромную таблицу

14.12.2023, 12:23. Показов 1127. Ответов 2
Метки sql (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Ситуация такая есть БД размером 50гигов (бд простая хранит 2 таблицы секундные данные рапаметров за год и таблица для сопоставления данных) после обновления сервера БД задвоило (все параметры во второй таблице 7000+ штук создались по новой и данные начали записываться на эти новые параметры в первую таблицу) в первой таблице неизвестное количество строк (попытался закружать по 1милиону долистал до 140 - 7000+ параметров каждую секунду в году)
задумка изменить в большой таблице "archive_itemid" на новые значения (опробовали на тестовой базе это работает)
влпрос как обработать огромную таблицу циклами по 1000 или 10000 строк, LIMIT не работает с UPDATE

SQL
1
UPDATE data_raw SET archive_itemid = REPLACE(archive_itemid,2,838)
- вылетает после 8минут работы

подскажите если кто сталкивался с обработкой огромных таблиц

Добавлено через 16 минут
SQL
1
2
3
UPDATE data_raw
SET archive_itemid = (SELECT archive_itemid FROM data_raw WHERE archive_itemid=2 LIMIT 1000)
WHERE archive_itemid=838;
тоже сбрасывается через 7-8 минут работы
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2023, 12:23
Ответы с готовыми решениями:

Перезалить огромную таблицу
Добрый день. У нас есть таблица, которая в SQL формате занимает гигов 70. Эта же таблица есть в текстовом формате(30 гигов). Значения там...

Правильно обработать таблицу и отловить ошибки
Добрый вечер. Есть таблица, которая содержит в себе несколько полей с данными, которые необходимо проверить и последнее поле...

Как правильно обработать таблицу с 10000 строк
Есть бд с 10 000 строк примерно нужно сделать обход и обработать каждую строку. Как сделать это правильно? Запросить сразу всю таблицу...

2
917 / 290 / 58
Регистрация: 01.06.2023
Сообщений: 816
14.12.2023, 14:49
Лучший ответ Сообщение было отмечено gipperpank как решение

Решение

запросы у Вас какие то странные

попробую привести пример как понял. не понятно какой у Вас первичный ключ поэтому посчитаем что rowid

следующий запрос заменит archive_itemid с 2 на 838 у первых 1000 строк

SQL
1
2
3
4
5
6
7
UPDATE data_raw
SET archive_itemid  = 838
FROM (
  SELECT rowid FROM data_raw WHERE archive_itemid=2 LIMIT 1000
) AS t
WHERE  
  data_raw.rowid = t.rowid
По хорошему должен быть индекс data_raw(archive_itemid)
1
0 / 0 / 0
Регистрация: 15.02.2019
Сообщений: 11
15.12.2023, 09:37  [ТС]
Большое спасибо за ответ, но решил проблему немного иначе всю базу слил в SQL файл далее открыл в текстовом редакторе и поправил с помощью рег выражений (к стати файл размером в 20+гигов удалось спокойно открыть только ЕмЕдитором нотепад-- забил всю оперативу и комп благополучно скончался в синиве) далее залил SQL в базу

признаю решенье не самое лучшее но времени мало мало (сервер не останавливал а новый файл разрастался)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2023, 09:37
Помогаю со студенческими работами здесь

Камрады, как обработать таблицу Excel в VBA
Бьюсь над макросом который день. Есть таблица - 12 строк на 3 столбца. Необходимо чтобы данные таблицы записались в массив и, к...

Обработать таблицу с использованием текстовых функции и ЕСЛИ
1. В табл. 2 в столбце Фамилия и инициалы с помощью соответствующих текстовых функций записать через пробел фамилию и начальные буквы имени...

Обработать исключение при добавлении данных в таблицу Access
Подскажите пожалуйста как обработать исключение? Событие на кнопке, происходит добавление данных в таблицу в аксесе private...

Возвести число в огромную степень
Дано допустим N = 1 000 000, D = 842 729, возможно ли возвести С = 268 в степень N*N? Пробовал через BigInteger.Pow(), не вышло. ...

Как создать огромную массив?)
Мне задали задание взять все числа типа (unsigned short int) т.е. 0 - 65 535, и найти среди них все простые до корня из 65535 (~256). А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru