|
|
|
Креш таблички, как полечить autoincrement?
|
|||
|---|---|---|---|
|
#18+
В общем, уважаемое сообщество, прошу совета ибо гугль не знает. После креша (по хардварным причинам) таблички сделал Myisamchk, и все вроде пучком. Через денек заметил странные записи - поле ключа, которое автоинкремент имеет какое то бешенное значение. Записей в табличку уже накидали, и бог его знает какая на нем логика висит, но то что я вижу (пхп) частенько болеет от таких значений. Имеем пока вот что: forum# myisamchk -dvv /var/db/mysql/dust/inposts.MYI MyISAM file: /var/db/mysql/dust/inposts.MYI Record format: Packed Character set: cp1251_general_ci (51) File-version: 1 Creation time: 2012-02-09 16:52:26 Recover time: 2014-07-27 22:20:51 Status: checked Auto increment key: 1 Last value: 44848048511114 Data records: 455520 Deleted blocks: 0 Datafile parts: 455520 Deleted data: 0 Datafile pointer (bytes): 6 Keyfile pointer (bytes): 6 Datafile length: 260307612 Keyfile length: 40052736 Max datafile length: 281474976710654 Max keyfile length: 288230376151710719 Recordlength: 1192 Вопрос - как полечить такое вот дело? Ну кроме как ручным анализом этой таблицы - там несколько сот тысяч записей, я пока не готов лопатить ее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 03:03:30 |
|
||
|
Креш таблички, как полечить autoincrement?
|
|||
|---|---|---|---|
|
#18+
Dustя вижу (пхп) частенько болеет от таких значений Dustкак полечить такое вот дело?А сфига ты здорового-то лечишь? больного лечи, тогда толк будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 11:15:58 |
|
||
|
Креш таблички, как полечить autoincrement?
|
|||
|---|---|---|---|
|
#18+
Dust, изменить то само текущее значение autoincrement можно, это есть в документации. но вот что вы будете делать с остальными записями и всеми записями ссылающимися на них ? может оказаться не так просто. поэтому вам и предлагают считать эту ситуацию нормальной и ничего не лечить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 12:05:46 |
|
||
|
Креш таблички, как полечить autoincrement?
|
|||
|---|---|---|---|
|
#18+
Dust, А есть ссылки на этот ключ в других или в этой же таблицах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 12:46:05 |
|
||
|
Креш таблички, как полечить autoincrement?
|
|||
|---|---|---|---|
|
#18+
Если нет связи автоинкремента с другими записями по логике схемы БД. То если смущают большие значения автоинкрементального поля. Я бы сделал так: 1. создал таблицу create table table_new like table_old 2. перезалил в нее записи, но без поля автоинкремента: insert into table_new (field2,field3,... ) select field2,filed3,... from table_old 3. переименовал бы таблицы table_old -> table_bed , table_new -> table_old ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 16:17:34 |
|
||
|
Креш таблички, как полечить autoincrement?
|
|||
|---|---|---|---|
|
#18+
netwind, Первая идея была поменять autoincrement на какое-то нормальное значение+ запас на те записи, которые были добавлены уже с большим значением. Запрос alter table inposts AUTO_INCREMENT=500000 выполняется успешно, но значение не изменяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 17:28:40 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1834444]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 335ms |

| 0 / 0 |
