@demimurych Я уже Вам привел в доказательство официальную документацию. Так что теперь ваша очередь приводить доказательства.
По поводу логики я уже дал Вам ответ - Вы не понимаете разницу между MyISAM и InnoDB. InnoDB - транзакционный движок. Поэтому индексы и данные хранятся вместе. Индексы нужны, чтобы выбирать (просматривать) не все данные, а лишь часть.
@demimurych dev.mysql.com/doc/refman/5.6/en/group-by-functions...
"mysql> SELECT COUNT(*) FROM student;
This optimization applies only to MyISAM tables only, because an exact row count is stored for this storage engine and can be accessed very quickly. For transactional storage engines such as InnoDB, storing an exact row count is more problematic because multiple transactions may be occurring, each of which may affect the count."
@zelenin select получает объект выборки, а чтобы получить данные из этой выборки нужно выполнить fetch. fetch тоже обращается к базе в рамках выборки. Соответственно, чем больше строк тем больше fetch, тем больше обращений к базе.
@another_dream Под ключами я подразумеваю индексы. Не стесняйтесь их вешать на поля, по которым часто будите производить поиск - потери времени работы практически нет, а скорость выборки возрастает много кратно (даже если индексы не уникальные)
@demimurych Во-первых, это будет так, если будет задействован уникальный индекс по обоим полям и ничего больше.
Во-вторых, это действует только на таблицах MyISAM.
@Atllantis Какие к чёрту расчёты? У объекта задаёте координаты центра и размер смещения по двум осям. Всё - этого достаточно. Вращайте и перемещайте объект как Вам надо. Такое будет работать даже на дохлых планшетах.
По поводу логики я уже дал Вам ответ - Вы не понимаете разницу между MyISAM и InnoDB. InnoDB - транзакционный движок. Поэтому индексы и данные хранятся вместе. Индексы нужны, чтобы выбирать (просматривать) не все данные, а лишь часть.