![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
jone31 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 29.11.2008 Репутация: нет Всего: нет |
всех приветствую.
вчера почистил таблицу mysql с логами, удалил 34 миллиона записей, оставил записи только за этот год, и получается что первый id начинается почти с 12 миллионов, что не очень удобно и это все далее будет плодится в очень быстром темпе. вопрос: можно ли с помощью sql языка пересчитать автоинкримент во всех строках таблицы автоматически? столбец `id` - автоинкримент Это сообщение отредактировал(а) jone31 - 6.7.2010, 19:18 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Оставь как есть - это будет правильно.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
jone31 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 29.11.2008 Репутация: нет Всего: нет |
||||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: нет Всего: 20 |
Если возникает потребность обнулять автоинкремент, то это первый звоночек, говорящий что структура БД не в порядке, либо использование БД не правильное.
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 15 Всего: 260 |
если никто не ссылается - используй естественный первичный ключ. зачем в таком случае синтетика, на которую никто не ссылается, которую никто не использует, которую надо время от времени удалять и перенумеровывать?
|
|||
|
||||
jone31 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 29.11.2008 Репутация: нет Всего: нет |
под моими словами "ничего не ссылается", я имел ввиду что от поля таблицы id ничего не зависет, а на остальных полях есть связи. Jдним словом эта таблица - это лог чат-бота, и в него сваливаются все сообщения, входы/выходы юзеров, ошибки и т.д... которые используются при подсчете статистики, постранично выводится в админке, это инфой пользуются модераторы что бы восстанавливать картину произошедшего в случаях споров между юзерами... PS не совсем понял значение слова синтетика. если ты имел ввиду использование файлов, то это крайне неудобно т.к. они занимают намного больше места, и парсить их потом сложнее, а работать непосредственно в них сложно. Это сообщение отредактировал(а) jone31 - 6.7.2010, 23:19 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Синтетический ключ. Подробности в мануале. А зачем ты его вообще ввёл? Тупое следование общепринятой практике? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
jone31 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 29.11.2008 Репутация: нет Всего: нет |
да я сам незнаю зачем я его ввел туда. ![]() Добавлено через 1 минуту и 42 секунды да и модераторам легче ссылаться на строку по ID, чем по времени добавления и другим полям.... |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Стоп! это поле - первичный ключ, или не ключ, но индексированное, или просто тупой indentity?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
jone31 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 29.11.2008 Репутация: нет Всего: нет |
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
1) Ты создаёшь поле bigint(20) - т.е. чётко понимая, что записей будет дохрена. И в то же время тебя пугает восьмизначный номер... где логика?
2) Поскольку это поле является первичным ключом, а таблица явно является низовой - изменение этого поля есть явный идеологический косяк. Artemon, видимо, прав. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
jone31 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 29.11.2008 Репутация: нет Всего: нет |
да, это косяк. Но вопрос был в другом: можно ли пересчитать id в таблице по новой?
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Да. Можно.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
dillinja |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 15.1.2010 Репутация: нет Всего: нет |
jone31 случаем не решил вопрос ? просто впадлу копировать базу и прогонять по новой...
у меня такой же вопрос возник, дело в том что эти ID как никак память жрут - зачем использовать лишние мегабайты в пустую ?
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |