|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
Привет! Подскажите пожалуйста, как реализовать такую задачку: Есть несколько сотен (мб даже тысяч) строк данных: id source count data1 data2 data3 data4 data51 1 100 value1_1 value2_1 value3_1 value4_1 value5_11 1 100 value1_1 value2_1 value3_1 value4_1 value5_11 1 100 value1_1 value2_1 value3_1 value4_1 value5_11 1 100 value1_1 value2_1 value3_1 value4_1 value5_1 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 10:26 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
Как то не специально сохранилось, пока ковырялся с таблицей, извините. Отредактировать не получается... Так вот, Привет! Подскажите пожалуйста, как реализовать такую задачку: Есть несколько сотен (мб даже тысяч) строк данных: id source count data1 data2 data3 data4 data51 1 100 value1_1 value2_1 value3_1 value4_1 value5_12 2 200 value1_1 value2_1 value3_1 value4_1 value5_2... ... ... ... ... ... ... ...N-1 2 300 value1_2 value2_1 value3_2 value4_2 value5_3N 1 100 value1_1 value2_2 value3_1 value4_3 value5_3 Задача написать такой запрос, который при вставке данных в таблицу вместо valueX_Y вставлял это значение в дополнительную таблицу values (если его там еще не было) и возвращал айдишку из этой самой таблицы, соответственно вставляя ее в основную таблицу в нужную строку. Можно сделать несколько дополнительных таблиц values1 ... values5 . приоритет - скорость работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 10:32 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
Совершенно невменяемое описание. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 10:56 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
Чаще всего Данные не "вставляются". Данные "добавляются" Если же данные "обновляются", то требуется сначала получить ID обновляемых данных а не "возвращать" их. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 11:42 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
К сожалению ввиду переутомления и злоупотребления спиртом не знаю как точнее сформулировать задачу, но попробую еще раз Имеется таблица, в которую нужно периодически добавлять новые данные. В добавляемых данных есть 5 полей, содержащие строковые значения. Эти строковые значения достаточно часто дублируются. Соответственно возникло желание сделать дополнительную таблицу, куда заносить только уникальные строковые значения, а в основную таблицу соответственно вставлять идентификаторы из этой самой дополнительной таблицы. Как я вижу это сейчас, но не оптимально явно: 1. Взять все строковые значения и сформировать запрос на добавление этих значений в дополнительную таблицу с маркером IGNORE. 2. После этого пробежаться по этой таблице и взять все айдишники строк, значения которых будут в данном случае вставляться в основную таблицу 3. Добавить данные в основную таблицу, заменяя значения идентификаторами, полученными в предыдущем пункте. Я не обладаю хорошими навыками в SQL, по этому мне видится это возможным именно по такой схеме. И соответственно замену значений идентификаторами я буду делать не в SQL, а в самом скрипте. Но явно это не лучший вариант и наверняка вы, опытные и проскилованные тру-базисты, сможете подсказать правильное решение достаточно тривиальной для вас задачи, взамен я с удовольствием отправлю вам лучи добра :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 14:54 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
seometisИмеется таблица, в которую нужно периодически добавлять новые данные. Сначала надо понять что это за данные. Почему они "дублируются", и как их надо группировать. seometisВ добавляемых данных есть 5 полей, содержащие строковые значения. Эти строковые значения достаточно часто дублируются. Кроме этих пяти полей, ты показал еще три поля, значение которых надо объяснить. seometis Соответственно возникло желание сделать дополнительную таблицу, куда заносить только уникальные строковые значения, а в основную таблицу соответственно вставлять идентификаторы из этой самой дополнительной таблицы. Видимо надо завести некий "справочник." Скорее всего - Второй этап. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 15:53 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
Это банальная статистика для сайта, 5 полей - это UTM-метки, которые и будут повторяться регулярно. Изначально заполняется сырая таблица, похожая на указанную во втором посте. Далее, будет производится почасовое суммирование данных. ID - автоинкремент, source - идентификатор площадки, count - соответственно число визитов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 16:13 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
Есть БД описывающая статистику работы сайта source - Площадка count - Количество посещений data1-data5 - UTM-метки +Есть периодическая обработка статистики, формирующая файл аналогичной структуры. Задача: Добавить к имеющейся статистики данные с буфера. Т.Е. по сути - поставить общую сумму count для (в разрезе) source+(data1-data5) Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 02:33 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
Если так, то задача разбивается на две подзадачи. 1. Добавить count из буферной таблицы в основную при совпадении source, (data1-data5) к имеющемуся count 2. Добавить новые комбинации source, (data1-data5) Результирующая таблица элементарно получается путем добавления срок из буфера в основную таблицу (Union ALL) и последующей группировкой source, (data1-data5) с суммированием count Может стоить пойти именно по этому пути? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 10:44 |
|
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
|
|||
---|---|---|---|
#18+
seometisИмеется таблица, в которую нужно периодически добавлять новые данные. В добавляемых данных есть 5 полей, содержащие строковые значения. Эти строковые значения достаточно часто дублируются. Соответственно возникло желание сделать дополнительную таблицу, куда заносить только уникальные строковые значения, а в основную таблицу соответственно вставлять идентификаторы из этой самой дополнительной таблицы. вам наверное сюда ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 11:17 |
|
|
start [/forum/topic.php?fid=47&fpage=36&tid=1829176]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 308ms |
total: | 447ms |
0 / 0 |