Перейти к основному содержимому

C1 — снимок структуры группы 1 на s3

Снято 2026-08-04 read-only запросами к information_schema и SHOW CREATE TABLE через s3-int / контейнер gwptd-v3-mysql. table_rows — оценка InnoDB из information_schema.tables, не дополнительный COUNT(*); размер — DATA_LENGTH + INDEX_LENGTH. До применения миграции все десять таблиц имеют utf8mb4_0900_ai_ci как table default и как collation своих текстовых колонок.

Таблицы

tableenginetable collationrows (est.)data+index, bytesutf8mb4 columns
mp_analytics_dailyInnoDButf8mb4_0900_ai_ci3343991969520642
mp_collection_logInnoDButf8mb4_0900_ai_ci22402949123
mp_financesInnoDButf8mb4_0900_ai_ci663761843363845
mp_orders_dailyInnoDButf8mb4_0900_ai_ci5555210669260810
mp_returnsInnoDButf8mb4_0900_ai_ci22515682721287
mp_stocks_dailyInnoDButf8mb4_0900_ai_ci13022338470528004
ozon_product_metaInnoDButf8mb4_0900_ai_ci20093276804
sales_artikuly_cache_v2InnoDButf8mb4_0900_ai_ci13051310725
wb_funnel_periodsInnoDButf8mb4_0900_ai_ci191556494305282
wb_product_metaInnoDButf8mb4_0900_ai_ci26437045125
Итого19808281454194688

Колонки

Формат: имя:тип и, для текстовых колонок, [charset/collation]. Остальные атрибуты (NULL, default, generated expression) взяты из SHOW CREATE TABLE; важная особенность — mp_orders_daily.delivered_date остаётся STORED generated column.

mp_analytics_daily:
id:bigint unsigned, marketplace_id:tinyint unsigned,
collected_date:date, metric_date:date,
offer_id:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci],
product_name:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
views:int, cart_adds:int, orders_count:int, orders_sum:decimal(12,2),
buyout_count:int, buyout_sum:decimal(12,2), cancel_count:int,
cancel_sum:decimal(12,2), wishlist_adds:int, buyout_pct:decimal(5,2),
cart_conversion:decimal(5,2), order_conversion:decimal(5,2),
search_position:decimal(5,1), raw_json:json, created_at:timestamp

mp_collection_log:
id:int, marketplace_id:smallint, collected_date:date,
task_type:enum[utf8mb4/utf8mb4_0900_ai_ci],
status:enum[utf8mb4/utf8mb4_0900_ai_ci], rows_collected:int,
duration_sec:decimal(8,2), error_message:text[utf8mb4/utf8mb4_0900_ai_ci],
created_at:timestamp

mp_finances:
id:bigint, marketplace_id:tinyint unsigned, finance_date:date,
collected_date:date, transaction_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci],
operation_type:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci],
offer_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci],
product_name:varchar(512)[utf8mb4/utf8mb4_0900_ai_ci],
amount:decimal(14,2), commission:decimal(14,2), delivery_fee:decimal(14,2),
storage_fee:decimal(14,2), penalty:decimal(14,2), payout:decimal(14,2),
source_endpoint:varchar(64)[utf8mb4/utf8mb4_0900_ai_ci], raw_json:json,
created_at:timestamp

mp_orders_daily:
id:bigint, marketplace_id:smallint,
order_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci], order_date:date,
delivery_date:datetime, return_date:date, first_delivered_at:date,
claimed_date:date, claimed_ok_date:date, claimed_defective_date:date,
claimed_used_date:date, collected_date:date,
status:varchar(64)[utf8mb4/utf8mb4_0900_ai_ci],
item_status:varchar(64)[utf8mb4/utf8mb4_0900_ai_ci],
offer_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci],
lamoda_sku:varchar(48)[utf8mb4/utf8mb4_0900_ai_ci],
product_name:varchar(512)[utf8mb4/utf8mb4_0900_ai_ci], quantity:int,
price:decimal(12,2), revenue:decimal(12,2), commission:decimal(12,2),
region:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
warehouse_name:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
buyer_type:varchar(32)[utf8mb4/utf8mb4_0900_ai_ci],
payment_type:varchar(32)[utf8mb4/utf8mb4_0900_ai_ci], raw_json:json,
created_at:timestamp, delivered_date:date STORED GENERATED

mp_returns:
id:bigint, marketplace_id:tinyint unsigned,
return_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci],
order_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci], return_date:date,
order_date:date, collected_date:date,
offer_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci],
product_name:varchar(512)[utf8mb4/utf8mb4_0900_ai_ci], amount:decimal(14,2),
reason:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
status:varchar(64)[utf8mb4/utf8mb4_0900_ai_ci],
return_schema:varchar(16)[utf8mb4/utf8mb4_0900_ai_ci], raw_json:json,
created_at:timestamp

mp_stocks_daily:
id:bigint, marketplace_id:smallint, collected_date:date,
warehouse_name:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
warehouse_id:varchar(64)[utf8mb4/utf8mb4_0900_ai_ci],
offer_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci],
product_name:varchar(512)[utf8mb4/utf8mb4_0900_ai_ci],
stock_available:int, stock_reserved:int, stock_total:int,
stock_in_way_to:int, stock_in_way_from:int, price:decimal(12,2),
price_discount:decimal(12,2), raw_json:json, created_at:timestamp

ozon_product_meta:
ozon_sku:bigint unsigned,
offer_id:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci],
product_name:varchar(500)[utf8mb4/utf8mb4_0900_ai_ci],
brand:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci],
source:enum[utf8mb4/utf8mb4_0900_ai_ci], last_seen_at:timestamp,
created_at:timestamp, updated_at:timestamp

sales_artikuly_cache_v2:
artikul_key:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci],
brand:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci],
kategoriya_tovara:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci],
lamoda_sku_short:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci],
lamoda_sku:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci]

wb_funnel_periods:
id:bigint unsigned,
offer_id:varchar(100)[utf8mb4/utf8mb4_0900_ai_ci], nm_id:bigint,
product_name:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
period_start:date, period_end:date, orders_count:int, buyout_count:int,
cancel_count:int, orders_sum:decimal(12,2), buyout_sum:decimal(12,2),
buyout_pct:decimal(5,2), collected_at:datetime

wb_product_meta:
offer_id:varchar(128)[utf8mb4/utf8mb4_0900_ai_ci], nm_id:bigint,
product_name:varchar(512)[utf8mb4/utf8mb4_0900_ai_ci],
brand:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
category:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci],
wb_subject:varchar(255)[utf8mb4/utf8mb4_0900_ai_ci], wb_skus:json,
wb_chrt_ids:json, updated_at:timestamp

Индексы и ограничения

Ниже — сокращённый SHOW CREATE TABLE-снимок ключей. 0 в unique означает уникальный индекс, 1 — обычный; порядок колонок значим.

tableunique / primaryordinary indexes
mp_analytics_dailyPRIMARY(id); uq_analytics(marketplace_id,metric_date,offer_id)idx_collected(marketplace_id,collected_date), idx_date(marketplace_id,metric_date), idx_offer(marketplace_id,offer_id); FK marketplace_id → marketplace_dict.marketplace_id
mp_collection_logPRIMARY(id); uq_log(marketplace_id,collected_date,task_type)
mp_financesPRIMARY(id); uq_finance(marketplace_id,finance_date,transaction_id)idx_collected(collected_date), idx_mp_date(marketplace_id,finance_date), idx_offer(offer_id); FK marketplace_id → marketplace_dict.marketplace_id
mp_orders_dailyPRIMARY(id); uq_order(marketplace_id,order_id,offer_id)idx_collected(collected_date), idx_date(order_date), idx_lamoda_sku(lamoda_sku), idx_mp_date(marketplace_id,order_date), idx_mp_offer(marketplace_id,offer_id), idx_mp_status_delivered(marketplace_id,status,delivered_date), idx_offer(offer_id)
mp_returnsPRIMARY(id); uq_return(marketplace_id,return_id,offer_id)idx_collected(collected_date), idx_mp_date(marketplace_id,return_date), idx_mp_order_date(marketplace_id,order_date), idx_offer(offer_id)
mp_stocks_dailyPRIMARY(id); uq_stock(marketplace_id,collected_date,offer_id,warehouse_name)idx_date(collected_date), idx_mp_date(marketplace_id,collected_date), idx_offer(offer_id)
ozon_product_metaPRIMARY(ozon_sku); ozon_product_meta_offer_id_unique(offer_id)ozon_product_meta_offer_id_index(offer_id)
sales_artikuly_cache_v2PRIMARY(artikul_key)
wb_funnel_periodsPRIMARY(id); uq_funnel_period(offer_id,period_start,period_end)idx_offer(offer_id), idx_period(period_start,period_end)
wb_product_metaPRIMARY(offer_id)idx_nm_id(nm_id)