Нет, порядок столбцов без ключа не имеет значения.
Ответ на ваш второй вопрос более сложный - я собираюсь пройтись по нему, так как думаю, что вы, возможно, немного неправильно поняли InnoDB -
Существует два типа индексов: первичный и вторичный.
Индекс первичного ключа кластеризован, то есть данные хранятся в листьях дерева B +. Поиск по первичному ключу - это всего лишь один обход дерева, и у вас есть строки, которые вы ищете.
Поиск по вторичному ключу требует поиска по вторичному ключу, поиска соответствующих строк первичного ключа, а затем просмотра первичного ключа для получения данных.
Вам нужно беспокоиться только о селективности вторичных (некластеризованных) индексов, поскольку первичный (кластеризованный) индекс всегда будет иметь селективность 1. Степень избирательности вторичного индекса сильно варьируется - для одного; это зависит от ширины индекса и ширины строки. Это также зависит от того, достаточно ли у вас памяти, так как если вторичные ключи не «следуют» за первичным ключом, это может привести к тому, что случайный ввод-вывод будет искать каждую строку из кластеризованного индекса.