Помните, что наличие большего количества столбцов в ключе требует указания этих столбцов в операторах выбора, что иногда нежелательно. Чем больше разделов, тем лучше - выбрав лучший столбец или несколько столбцов.
Кассандра считывает данные через ключ разделения и может получить помощь по производительности, если используются кластерные столбцы. Если у вас большой раздел, весь раздел должен быть прочитан (память и диск), а затем объединен для вывода. Если у вас большие разделы, это определенно замедлит вас.
Если никто больше не находит лучшее решение, Вы могли бы всегда просто добавлять их вместе, то делиться на число столбцов, которые Вы добавили.
Не симпатичный, но это работает.
Не конкретно MySql, но идею должно быть достаточно легко перевести.
CREATE TABLE A (id int identity(1,1), C1 int, C2 int, C3 int)
GO
INSERT INTO A VALUES (1,1,1)
INSERT INTO A VALUES (2,2,2)
INSERT INTO A VALUES (3,3,3)
INSERT INTO A VALUES (1,2,3)
INSERT INTO A VALUES (4,5,6)
GO
CREATE VIEW A_Values
AS
SELECT ID, AVG(Val) AS Average
FROM
(
SELECT ID, C1 AS Val FROM A
UNION ALL
SELECT ID, C2 AS Val FROM A
UNION ALL
SELECT ID, C3 AS Val FROM A
) Q
GROUP BY ID
GO
SELECT * FROM A_Values
GO
Я не знаком с синтаксисом MySQL, но что относительно того, чтобы вывести данные строки во временную таблицу как несколько строк с отдельным столбцом и затем использовать AVG () функция для получения результата?