Первичный ключ, Возрастающий по сравнению с Убыванием

Модели:

class User
{
    public function kids()
    {
       return $this->belongsToMany(Kid::class);
    }
}
class Kid
{
    public function users()
    {
        return $this->belongsToMany(User::class);
    }
}

Извлечение записей:

$user = User::find(Auth::user()->id);
$user->kids();
29
задан Rex M 31 May 2012 в 06:24
поделиться

2 ответа

С просто точки зрения запросов это не имеет никакого значения, убывает ли Ваш ключ или возрастает, если Вы хотите вытянуть новые или самые старые записи N N:

внутренние алгоритмы SQL Server могут перейти одинаково эффективно в обоих направлениях на индексе отдельного столбца, независимо от последовательности, в которой хранятся ключи. Например, определение DESC на индексе отдельного столбца не делает запросы с ORDER BY пунктом IndexKeyCol DESC выполненный быстрее, чем если бы ASC был определен для индекса.

http://msdn.microsoft.com/en-us/library/aa933132 (SQL.80) .aspx

Однако при примерно любом нормальном обстоятельстве, Вы хотите, чтобы Ваш первичный ключ возрос и порядковым образом последовательные для предотвращения фрагментации . SQL Server оптимизирован для того, чтобы физически добавить новые записи до конца файла базы данных. Если бы это должно вставить каждую новую запись наверху и снизить все, это, вероятно, привело бы почти к 100%-й фрагментации.

40
ответ дан Rex M 28 November 2019 в 01:45
поделиться

Это не имеет абсолютно никакого значения.

я не могу даже вообразить, почему возможно объявить это так или иначе.

4
ответ дан dkretz 28 November 2019 в 01:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: