powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / генерация большого количества записей
6 сообщений из 6, страница 1 из 1
генерация большого количества записей
    #38418033
варенье
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно позволить пользователям генерировать большое количество (1000 - 100 000 за раз) уникальных целых числовых значений и сохранять их в базу, я решил просто сделать процедуру которая будет вставлять новые строки в таблицу, а autoincrement primary key и будет обеспечивать уникальность.
Как лучше организовать этот процесс? Я думаю сделать очередь, которая за раз будет создавать определенное количество, чтобы снизить нагрузку на сервер, что еще можно придумать и какие проблемы могут потенциально возникнуть?
...
Рейтинг: 0 / 0
генерация большого количества записей
    #38418100
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
варенье,

1. наверно быстрее будет процедурой чем из клиента
2. индекс(ы) (если есть) можно отключить во время вставки
3. поэкспериментировать с размером группового комита
4. использовать груповой инсерт
5. сама задача -- немного подозрительна. если не чистить то
забьете базу циферками...
...
Рейтинг: 0 / 0
генерация большого количества записей
    #38418228
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
варенье,

По какому принципу должны генерироваться числовые значения?
Если достаточно автоинкремента без никаких сопутствующих данных, то навставлять записей можно одним SQL-запросом без никаких процедур и прочих заморочек.
...
Рейтинг: 0 / 0
генерация большого количества записей
    #38418321
варенье
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

числа должны иметь не менее 10 цифр, быть целыми и случайными
...
Рейтинг: 0 / 0
генерация большого количества записей
    #38418461
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала - "уникальными". Потом - "случайными". А с учётом всего остального это - противоречивые требования.
...
Рейтинг: 0 / 0
генерация большого количества записей
    #38418787
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10^13 хватит?
В LIMIT вместо 10 сколько надо поставишь
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
SELECT CONCAT(a,b,c,d,e,f,g,h,i,j,k,l,m) FROM 
(SELECT 1 AS a UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS a
JOIN
(SELECT 1 AS b UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS b
JOIN
(SELECT 1 AS c UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS c
JOIN
(SELECT 1 AS d UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS d
JOIN
(SELECT 1 AS e UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS e
JOIN
(SELECT 1 AS f UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS f
JOIN
(SELECT 1 AS g UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS g
JOIN
(SELECT 1 AS h UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS h
JOIN
(SELECT 1 AS i UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS i
JOIN
(SELECT 1 AS j UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS j
JOIN
(SELECT 1 AS k UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS k
JOIN
(SELECT 1 AS l UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS l
JOIN
(SELECT 1 AS m UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0 ORDER BY RAND()) AS m
LIMIT 10
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / генерация большого количества записей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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