Тип столбца первичного ключа MySQL для больших таблиц

Рассмотрите возможность инкапсуляции вашего процесса в определенную функцию и используйте функциональные объекты без необходимости именования или удаления из среды. Кроме того, используйте paste (или его непространственную оболочку, paste0) на самом столбце, используемом для разбиения. Ниже приведены два альтернативных эквивалентных решения:

Функция

proc_match <- function(sub) {

   write.csv(sub, file = paste0("data_", sub$nr[[1]], ".csv"))

   match_result <- matchit(am ~ mpg + wt, method = "nearest", data = sub) 
   matched_data <- match.data(match_result) 

   write.csv(matched_data, file = paste0("matched_data_", sub$nr[[1]], ".csv"))
}

split + lapply

# ADD NEW GROUPING COLUMN
mtcars$grp <- rep(1:ceiling(nr/n), each=n, length.out=nr)

# RUN PROCESS TO RETURN NOTHING
lapply(split(mtcars, mtcars$grp), proc_match)
[ 1111] by

# ADD NEW GROUPING COLUMN
mtcars$grp <- rep(1:ceiling(nr/n), each=n, length.out=nr)

# RUN PROCESS TO RETURN NOTHING
by(mtcars, mtcars$grp, proc_match)
7
задан user80805 3 May 2009 в 09:13
поделиться

2 ответа

Когда вы создаете столбец как BIGINT (44) , «44» - это ширина экрана - она ​​не влияет на диапазон значений, которые вы можете сохранить, или скорость при для которого они извлекаются.

Для автоматического увеличения идентификатора вы хотите использовать UNSIGNED число, например BIGINT (44) UNSIGNED . Это удвоит диапазон значений и добавит дополнительное ограничение, что, как правило, хорошо.

Без знака INT будет храниться до 4 294 967 295 Неподписанный BIGINT будет хранить до 18,446,744,073,709,551,615 - вы не будете его заполнять в ближайшее время.

Вы не говорите, насколько быстро растет ваш максимальный идентификатор - если вы не вставляете много строк, вам следует придерживаться НЕ ПОДПИСАН INT , поскольку он занимает меньше места.

14
ответ дан 6 December 2019 в 14:09
поделиться

Я думаю, что любой первичный ключ по умолчанию будет беззнаковым. В любом случае использование отрицательных чисел для первичных ключей в лучшем случае не одобряется и мешает работе.

1
ответ дан 6 December 2019 в 14:09
поделиться
Другие вопросы по тегам:

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