powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как ускорить сравнение огромных таблиц
23 сообщений из 48, страница 2 из 2
Как ускорить сравнение огромных таблиц
    #39702888
Фотография MarchCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравнение закончилось? Сколько шло?
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702916
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, индексы поставил, теперь сравнение проходит за 7-8 минут, спасибо что подсказали!)
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702924
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот ещё вопрос такой, этот процесс сам по себе не жрет у меня ресурсы, легкая загрузка цп да и только. А можно как то 2 (или больше) таких процесса запараллелить? Или для этого нужен другой локальный сервер, и как следствие другая ОС? Просто настроек по увеличению производительности процесса в му.ini или в самом Workbenche я увы не нашел.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702925
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mordegarА вот ещё вопрос такой, этот процесс сам по себе не жрет у меня ресурсы, легкая загрузка цп да и только.Если содержимое таблиц и индексов полностью в кэше, то должно быть полностью занято одно ядро. MySQL не умеет параллелить выполнение одного запроса на несколько ядер. Но можно это имитировать - выполнить несколько запросов в разных подключениях.

Чтобы можно было посоветовать что-то по ускорению, покажите DDL обеих таблиц (включая индексы) и запрос.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702929
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

CREATE TABLE `rustts` (
`rustts` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
KEY `idxrustts` (`rustts`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

Это таблица на 300млн.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702930
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И такая же на 20 млн.
CREATE TABLE `uss`.`biground` (
`biground` VARCHAR(100) BINARY NOT NULL)
ENGINE = MyISAM;
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702931
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iNDEX:

Type BTREE
Allows NULL Yes
Unique No
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702935
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mordegar,

Т.е. в каждой из таблиц по одному полю?
Тогда имеет смысл попробовать 21675163

И почему одно поле BINARY, а другое utf8mb4 ?
Если в данных только латинские буквы и цифры, то имеет смысл использовать тип VARBINARY. А если они постоянной длины, то даже BINARY (отдельный тип данных, а не модификатор varchar).
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702937
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Да по одному полю в таблице, просто там написано: "Если исходная информация - текстовые файлы, и проверку надо сделать один раз", вот про один раз я не понял, я буду делать много таких проверок, просто будут заменяться данные в таблице где 20 млн. строк.

Форматы одинаковые, просто я из разных мест скопировал. Ок, предложенный метод испробую.
Длинна данных разная, но состоят только из лат. букв (мелких и заглавных) и цифр.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702940
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В целом конечно, конкретно для моих задач, результат проверки таблиц 20млн. на 300 млн. = 7-8 минут, т.е. 2-3 млн. в минуту это нормально. Просто было интересно, можно ли задействовать имеющиеся ресурсы видеокарт из под винды, чтобы повысить производительность. А то, почитаешь перед покупкой сколько Терафлопс выдают новоиспеченные модели карт, а на деле все эти мощности хз как использовать, именно для полезной нагрузки.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702941
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы еще попробовал данные положить в InnoDB-таблицу и сделать из единственного поля первичный ключ, а других индексов не делать.

Кроме того, если большая таблица не перезаливается от раза к разу, то имеет смысл собрать по ней статистику.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702942
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Ну InnoDB я пытался в самом начале сделать, но там постоянно мне какие-то ошибки выдавал в некоторых строках при импорте записей в таблицу, а если получалось игнорировать ошибки в строках, workbench зависал намертво.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702943
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mordegarПросто было интересно, можно ли задействовать имеющиеся ресурсы видеокарт из под винды, чтобы повысить производительность. А то, почитаешь перед покупкой сколько Терафлопс выдают новоиспеченные модели карт, а на деле все эти мощности хз как использовать, именно для полезной нагрузки.Может, это и имеет смысл с точки зрения производительности, но это уже точно не средствами СУБД делается.
Ищите по словам CUDA, OpenCL.
Если готового продукта под ваши цели не найдется, то придется программировать.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702944
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mordegarmiksoft,

Ну InnoDB я пытался в самом начале сделать, но там постоянно мне какие-то ошибки выдавал в некоторых строках при импорте записей в таблицу, а если получалось игнорировать ошибки в строках, workbench зависал намертво.Ошибки про дубли?
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702945
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftОшибки про дубли?

1262 it contained more data than there were input columns - вот это было и ещё 1062.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702946
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftmordegarПросто было интересно, можно ли задействовать имеющиеся ресурсы видеокарт из под винды, чтобы повысить производительность. А то, почитаешь перед покупкой сколько Терафлопс выдают новоиспеченные модели карт, а на деле все эти мощности хз как использовать, именно для полезной нагрузки.Может, это и имеет смысл с точки зрения производительности, но это уже точно не средствами СУБД делается.
Ищите по словам CUDA, OpenCL.
Если готового продукта под ваши цели не найдется, то придется программировать.
как же не средствами БД?
распараллелить свои поиски асинхронно может только сама бд...
кто же ещё снаружи за неё там искать будет
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702947
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не увидели?
полудухmordegarВ обеих таблицах по одной колонке с данными типа "hC98hvW374hoEd7V8d", при создании таблиц в настройках ставил маркеры NN и Binar, формат VARCHAR (100).
а они что, разных размеров идут?
и вы конечно же делаете индекс по всей длине?
там 10 чаров хватит
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702948
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудух,
Да, разных размеров
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702951
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. получается если в VirtualBox включить такой же сервер, и поставить ту же задачу, параллельно на реальной винде будет такой же процесс висеть, они оба будут нагружать одно и то же ядро?
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702952
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухmiksoftпропущено...
Может, это и имеет смысл с точки зрения производительности, но это уже точно не средствами СУБД делается.
Ищите по словам CUDA, OpenCL.
Если готового продукта под ваши цели не найдется, то придется программировать.
как же не средствами БД?
распараллелить свои поиски асинхронно может только сама бд...
кто же ещё снаружи за неё там искать будет Ну в смысле не классические РСУБД (Oracle, MS SQL, MySQL и т.п.) - они не умеют GPU использовать. А специализированные, которые умеют, мне неизвестны.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702955
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mordegarТ.е. получается если в VirtualBox включить такой же сервер, и поставить ту же задачу, параллельно на реальной винде будет такой же процесс висеть, они оба будут нагружать одно и то же ядро?Зачем VirtualBox ?
Сделайте столько подключений к MySQL, сколько ядер, и в каждом по запросу запускайте. Или даже больше, тут уже смотреть надо по реальной загрузке.
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39702957
mordegar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

аа, точно, ок!
...
Рейтинг: 0 / 0
Как ускорить сравнение огромных таблиц
    #39703346
NIK.2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы бы рассказали, чуть побольше об исходной задаче.
- В каком виде получаете данные.
- У Вас две таблицы. Они обе постоянные, или одна меняется ?
- После того, как нашли дубли, какая-то еще обработка данных требуется ?
- Под какой ОС ?


Просто если Вы заливаете данные в базу данных только ради того, что бы один раз найти дубли, это выглядит несколько странным, так
как подготовительные этапы будут занимать очень много времени...

Задача выглядит не как счетная, вся нагрузка будет по вводу-выводу... Тут нужны не процессоры, а памяти побольше и SSD.
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как ускорить сравнение огромных таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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