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

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

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

числа должны иметь не менее 10 цифр, быть целыми и случайными
...
Рейтинг: 0 / 0
07.10.2013, 08:41:59
    #38418461
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
генерация большого количества записей
Сначала - "уникальными". Потом - "случайными". А с учётом всего остального это - противоречивые требования.
...
Рейтинг: 0 / 0
07.10.2013, 13:06:05
    #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
Форумы / MySQL [игнор отключен] [закрыт для гостей] / генерация большого количества записей / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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