|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
Например есть пять приложений, допустим парсеры, или, что-то подобное, то что должно делать много инсертов. С точки зрения базы как лучше, если они инсертят в одну таблицу или каждый в свою, или для базы это монопенисуально? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 22:56 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
С точки зрения базы лучше, если они будут писать в файлы. А в саму базу вставлять либо последовательно в одну таблицу, либо в разные таблицы пакетно из файла командой mysqlimport/LOAD DATA INFILE. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 00:40 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
А как быть с unique индексами в случае с LOAD DATA INFILE, или они учитываются. Просто включать и выключать их помоему не вариант.? Я просто не пользовался никогда таким способом. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 06:58 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
Nick-name А как быть с unique индексами в случае с LOAD DATA INFILE, или они учитываются. Nick-name С точки зрения базы как лучше, если они инсертят в одну таблицу или каждый в свою, или для базы это монопенисуально? Nick-name то что должно делать много инсертов. Много - это сколько? Опять же - запись не по одной, а чанками по, скажем, десять, сразу уменьшает количество запросов на порядок. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 07:35 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
если честно, у меня такая задумка и была парсер пишет туда, а затем серверная хранимая процедура перемещает данные в рабочую таблицу, одну на всех. просто не знал будет ли это быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 07:52 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
Akina, А как выдумаете, по поводу вот такого алгоритма 1. парсер пишет в фаил. 2. процедура из файла пишет в свою таблицу 3. Другая процедура из специальной таблицы перетаскивает в общую Как мне видится, таким образом решается вопрос, и уникальности записей в конечной таблице и с сервера нагрузка снимается, так как первая и вторая процедуры имеют зазор во времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 08:16 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
По-моему, я именно это и предлагал... что же касается начала, уж лучше пусть парсеры пишут прямо в таблицы. Так хотя бы немного снизится максимальная загрузка сервера - работа по пополнению RAW таблиц будет "растянута" по времени. А ещё не получится такой бяки, что парсер пытается писать в файл, который в этот момент пытается читать сервер. Хотя с другой стороны накладные расходы возрастут... в общем, тестить надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 14:14 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
Nick-nameНапример есть пять приложений, допустим парсеры, или, что-то подобное, то что должно делать много инсертов. С точки зрения базы как лучше сложно представить масштабы....))) При нынешних процессорах и памяти при инсертах весь тормоз будет в транспортировке данных по железу и записи на диск самих данных и индексов. Так что "БАЗЕ" это конгруэнтно, что 5 приложений что 15. Обычно упирается в диски. Писать таким приложениям надо на Отдельные физические диски как минимум, плюс SSD . плюс рейд. Далее если используем InnoDB стартовать c опцией innodb_file_per_table обязательно, этим избавимся от "общего" индексного файла Но в настройках MySQL нет опций указать физическое размещение таблиц. Они всегда создаются в каталоге ДатаДир 1. Вариант сим-линками таблицы разносить по дискам. Но это муторно, там еще индексные файлы симлинкать. 2. Проще в Экземпляре MySQL c опцией innodb_file_per_table под каждое приложение создать свою "базу" (это всего лишь каталог в DataDir) и и симлинкать каталог 3. логичный путь если памяти навалом - под каждое приложение - свой инстанс, с указанием разных DataDir на разных дисках. Обычно люди не занимаются ерундой которую я написал выше, собирают быстрый RAID массив. Но вариант 2. документирован ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2020, 23:58 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
Alex_Ustinov Но в настройках MySQL нет опций указать физическое размещение таблиц. https://dev.mysql.com/doc/refman/8.0/en/innodb-create-table-external.html ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2020, 18:50 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
miksoft, ну тогда вообще проблем никаких. я много пропустил) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2020, 20:25 |
|
Дилетантский вопрос для повышения самообразованности
|
|||
---|---|---|---|
#18+
ооо... там уже тейбл спейсы можно делать типа Код: sql 1. 2. 3.
что-то по ненадобности все пропустил ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2020, 20:46 |
|
|
start [/forum/topic.php?fid=47&msg=39926485&tid=1828744]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 177ms |
0 / 0 |