Да, в общем случае упорядочение физических строк будет одинаковым.
Строка заказа на вставку основана на использовании прямого пути, и это довольно распространенная техника в хранилищах данных или других системах, которые полагаются на нее, чтобы получить выгодные коэффициенты сжатия и/или низкие коэффициенты кластеризации для определенных индексов (которые могут быть сильный драйвер для уменьшения размера индекса растрового изображения).
Функционально, однако, упорядочение по rowid кажется немного сомнительным. Если исходная таблица уже упорядочена по желанию, то продвижение полного сканирования таблицы на origin1 будет выполнять эту работу. В противном случае я бы заказал столбцы (столбцы), которые вы хотите улучшить с помощью кластеризации/сжатия.
Хотя индексированные таблицы или хеш-кластеры дают аналогичный эффект в отношении фактора кластеризации, они имеют ограничения, которые могут оказаться нецелесообразными. В случае с IOT часто бывает полезно с большими вставками упорядочить строки как часть выбора, чтобы получить более эффективное обслуживание в целевой таблице.
Что бы это значило для данных, которые нужно вставить в определенном порядке? Учитывая, что куча организованной таблицы по своей сути неупорядочен, физический порядок строк обычно не имеет смысла. Единственное исключение, о котором я могу думать, было бы, если бы 'unique2' был сжат, и вы пытались получить строки с повторяющимися значениями в одном блоке. Но ваш «порядок по rowid» сильно означает, что это не так. –
«Заказ» не имеет значения, как строки хранятся в таблице, и это разумное усилие, когда вы вводите порядок в свой оператор select для извлечения строк. – Wolf
@JustinCave Порядок строк может существенно повлиять на производительность сканирования индекса, что может оказать значительное влияние на оптимизатор. Я полагаю, что если бы вы захотели скопировать таблицу для целей тестирования, было бы лучше, если бы исходная таблица и ее копия имели одинаковый порядок (конечно, это не только * важный фактор =) –