Предположим, что порядок по умолчанию для MySQL-таблицы (ISAM) изменен, выполнив:
ALTER TABLE tablename ORDER BY columnname ASC;
С этого момента я гарантировал получение записей, полученных из таблицы, в порядке "имя столбца ASC", если в моих запросах не указано "ORDER BY" (т.е. "SELECT * FROM tablename" WHERE... LIMIT 10; ")?
Есть ли какие-либо угловые случаи, о которых я должен знать?
Обновление # 1: Большое спасибо Квасному, который правильно указал, что INSERT и DELETEs нарушают порядок. Это приводит меня к следующим дополнительным вопросам:
- Как насчет UPDATE? Предположим, что в таблицу не добавлены INSERT или DELETE, но только обновления - будет ли порядок сортировки неповрежденным?
- Предположим, что сделаны INSERT и DELETE - как мне "перестроить" сортировку снова, скажем один раз в день (в этом конкретном случае таблица меняется только ежедневно, поэтому восстановление ее каждый день после внесения изменений должно быть в порядке!). Устанавливает ли REPAIR TABLE его или должен добавить повторно ALTER TABLE... ORDER BY?