Mysql композитная индексация с tenant_id

У нас есть многопользовательское приложение, в котором есть таблица с 129 полями, которые можно использовать в предложениях WHERE и ORDER BY. Я потратил 5 дней, пытаясь найти лучшую стратегию индексации для нас, я получил много знаний, но у меня все еще есть некоторые вопросы.

1) При создании индекса я должен всегда делать его составным индексом с tenant_id на первом месте? (Все запросы имеют tenant_id =? Там в предложении WHERE)

2) Поскольку все столбцы могут использоваться как в предложении WHERE, так и в предложении order by, должен ли я создать индекс для них всех? (Правильно знать, когда я делаю заказ по столбцу, у которого нет индекса, требуется 6 секунд для выполнения с арендатором, у которого около 1 500 000 строк)

3) сделать PK (tenant_id, ID), но неЭто влияет на присоединения к этой таблице?

Любой совет о том, как справиться с этим, будет принята с благодарностью.

====== Движок базы данных - InnoDB

=======

состав :

ID bigint(20) auto_increment primary
tenant_id int(11)
created_by int(11)
created_on Timestamp
updated_by int(11)
updated_on Timestamp
owner_id int(11)
first_name VARCHAR(60)
last_name VARCHAR(60)
.
.
.
(some 120 other columns that are all searchable)

Ответы на вопрос(1)

Ваш ответ на вопрос