2013-04-30 2 views
0

Я создал веб-сайт, который поворачивает экраны отображения меню по одному. Для этого каждый экран вставляется в базу данных, чтобы отслеживать его каждый раз, когда пользователь запускает экранную кампанию.Мнения пользователей об использовании

В зависимости от количества пользователей и того, как часто они запускают свои кампании, поле идентификатора таблицы в конечном итоге становится очень высоким. При каждом запуске кампании старые строки удаляются для этой конкретной кампании и пользователя и начинаются свежими. Конечно, значения id продолжают расти.

Является ли общим для идентификатора, чтобы попасть в 5, 6, 7 или более цифр? И действительно ли это имеет значение?

Если да, то как насчет способа вернуть его обратно к 1. Или мне нужно?

+0

Чтобы сбросить значение 'auto_increment':' ALTER TABLE yourtable AUTO_INCREMENT = 0' – BackSlash

+0

не имеет значения. – Randy

+0

необходимо убедиться, что ваши ключи перерабатываются. Сиротская кампания с идентификатором 2 приведет к возникновению проблемы. –

ответ

0

Я не знаю, какую базу данных вы используете, и вы не указали, какой тип данных является столбцом. Можно выбрать тип данных, который слишком узкий, скажем, tinyint, который достигает 255 (если вы используете MS-SQL Server). Это ограничение легко ударить. Smallint 32,700 может пострадать после долгого времени, если вы быстро создадите данные. int настолько большой, что я никогда не попадал в предел в сценариях реального мира 2,147,483,647. Я полагаю, что если вы ведете учет в гиперинфляционной экономике или высокоточных инженерных работах. Big int настолько велик, что у вас не хватит числа в несколько жизней: 9,223,372,036,854,775,807. Поэтому к тому времени, когда вы используете bigint, вы, вероятно, просто тратите дисковое пространство.

Надеюсь, ваш пользовательский интерфейс не будет раскрывать первичные ключи вашей таблицы пользователям, потому что если они хотят, чтобы они были изменены, изменение первичного ключа - это проблема, потому что он будет каскадироваться во всех связанных таблицах. Так что держите его в секрете и не смотрите на него сами, количество цифр, которое у него есть, является косметическим &, что действительно важно, сколько места занимает тип данных и для большинства числовых типов данных, которые исправлены.

+0

Я использую тип данных int, поэтому я должен быть в хорошей форме. – stevenpepe

0

Хмм, я бы никогда не подумал об этом. Есть таблица кампаний с определенным порядком отображения. Добавьте столбец в свою таблицу пользователей с помощью campaign_id и даты, показанной вначале. Для этого вы можете использовать время входа в систему. Затем немного логики, когда нужно вращаться и что делать.

Смежные вопросы