Кажется, функция расширения класса поможет:
fun Double.str(decPlaces: Int): String = "%.${decPlaces}f".format(this)
и использовать ее как
LOG.info { "It went ${distance.str(3)}" }
На самом деле я думаю, что доступ на основе индекса будет O (журнал (n)), потому что Вы будете все еще искать вниз через организацию B-Tree-esque для получения до записи.
Для ответа на литеральный вопрос, да, если нет никакого индекса на столбце, механизм базы данных должен будет посмотреть на все строки.
В более интересном случае выбора несколькими столбцами, и с и без индекса, ситуация становится более сложной: Если Оптимизатор запросов примет решение использовать индекс, то он сначала выберет строки на основе индекса и затем применит фильтр с остающимися ограничениями. Таким образом уменьшая вторую операцию фильтрации от O (количество строк) к O (количество выбранных строк индексом). Отношение между этими двумя число называют селективностью и важной статистической величиной при выборе который индекс использовать.
Индексы для каждого столбца, поэтому если Вы используете, где пункт на неиндексированном столбце, он сделает так называемое сканирование таблицы, которое является O (n).
Я не знаю ответа, но имейте в виду, что нотация big-O дает только представление о производительности для произвольно больших размеров наборов данных.
Например, узкое место для производительности базы данных обычно ищет диск . Следовательно, производительность значительно возрастает, если рабочий набор данных можно сохранить в памяти. Нотация Big-O ничего не скажет о таких оптимизациях, потому что они актуальны только для конечных наборов данных.
Существуют различные типы индексов, различных планов выполнения и различных реализаций для различных баз данных. Большая часть кода базы данных отношений находится в оптимизирующих поиск алгоритмах. Нет ни одного ответа на Ваш вопрос. Можно использовать инструмент для визуализации плана выполнения, когда Вы хотите знать, как запрос будет выполняемым.
У Вас есть индексы. Кластерные индексы физически отсортированы на диске, у Вас может быть только один на таблицу. Некластеризованные индексы логически отсортированы, и у Вас могут быть многие из тех (осторожный для не злоупотребления им также, это могло бы замедлить действия записи). Если нет никакого индекса на Вашем столбце затем, я полагаю, что это - старая добрая строка методом строки.