Как я могу объявить указатель на основе универсального типа?

Действительно необходимо держать два отдельных вопроса отдельно:

1) первичный ключ является логической конструкцией - один из ключевых кандидатов, который исключительно и надежно определяет строку в Вашей таблице. Это может быть чем-либо, действительно - INT, GUID, строкой - выбор, что имеет большую часть смысла для Вашего сценария.

2) кластерный ключ (столбец или столбцы, которые определяют "кластерный индекс" на таблице) - это физическое связанная с устройством хранения данных вещь, и здесь, небольшой, стабильный, постоянно увеличивающийся тип данных является Вашим лучшим выбором - INT или BIGINT как Ваша опция по умолчанию.

По умолчанию, первичный ключ на таблице SQL Server также используется в качестве кластерного ключа - но это не должно быть тем путем! Я имею, лично кажется крупным увеличением производительности со временем при разбивании предыдущего основанного на GUID Основного Кластеризованного Ключа в два отдельных ключа - основной (логический) ключ на GUID, и кластеризация (упорядочивание) включает отдельный столбец INT IDENTITY (1,1).

индексная фрагментация была до минимальных уровней, и таким образом индекс ищет, производительность была, возрос - настоятельно рекомендован!

Marc

9
задан Thorsten Engler 18 March 2011 в 16:49
поделиться

1 ответ

type
  Pointer<T> = record
  public type
    Ty = ^T;
  end;

Теперь можно использовать этот универсальный указатель где угодно

type A = class
    procedure<T> DoStuff(tPtr: Pointer<T>.Ty);
end;
0
ответ дан 4 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

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