|
Битый индекс
|
|||
---|---|---|---|
#18+
Здравствуйте, возникла такая ситуция. В результате какого-то сбоя индексное чтение из таблицы (FK = число) возвращает 8 строк, а поиск натуралом (FK+0 = число) возвращает 6 строк, т.е. меньше чем индексный поиск. После обновления индекcа Код: sql 1.
натурал и индексный поиски совпадают. Я понимаю когда запись "вылетела" из индекса, но тут какой-то странный сбой. После backup/restore лишние 2 строки пропадают. FB 3.0.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 21:44 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, не вижу никаких проблем. в смысле, сбой это сбой. А индекс хранит все ключи, т.е. записи+версии. Запрос видит записи, а поиск по индексу видит записи+версии. Ну и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 22:10 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, валидацию не делал ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 23:00 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк ЕвгенийВ результате какого-то сбоя индексное чтение из таблицы (FK = число) возвращает 8 строк, а поиск натуралом (FK+0 = число) возвращает 6 строк, т.е. меньше чем индексный поиск. Тип поля и план запроса с индексом какой? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2021, 23:03 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
hvlad валидацию не делал ? Код: plaintext 1. 2. 3. 4. 5. 6.
После валидации стало находится 8 записей, что по индексу, что без Код: plaintext 1. 2. 3. 4.
Dimitry Sibiryakov Тип поля и план запроса с индексом какой? Поле integer PLAN (TABLE1 INDEX (FK_TABLE1_1)) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 01:56 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, не надо заниматься ерундой, а надо срочно делать b/r. Я вообще не понимаю, что там выискивать в битой базе, "почему это вот так, а это не так". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 10:57 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк Евгений Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 13:06 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк ЕвгенийPLAN (TABLE1 INDEX (FK_TABLE1_1)) Странно. Даже если нода индекса задвоилась, битмап не должен был позволить пройти по одной записи дважды. Вот был бы ORDER... А если в ноду вкрался адрес левой записи, она не должна была пройти сравнение реального значения. Как вообще возможно для этого плана вернуть больше записей, чем у натурала? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 14:09 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
kdv, Я давно уже сделал b/r теперь тренируюсь "на кошках" У меня есть битая база. Поэтому если будет интересно, могу ее предоставить разработчикам. Если это имеет смысл ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 14:39 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
hvlad, В архиве 2 лога. После первой и второй проверок ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 15:14 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, не имеет смысла. и логи тоже не имеют смысла. При сбое "молния" ударяет куда попало. Поэтому интересует разве что - сбой памяти, сбой диска, ресет, и так далее, и то для владельца железа. Для разработчиков куда брякнуло - не интересует вообще. Ну например, база на ХДД, и там появились сбойные секторы. Они обнулились. И что дальше? Как вы себе представляете, что разработчики Фб могут с этим делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 16:04 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
kdvКак вы себе представляете, что разработчики Фб могут с этим делать? Как минимум - обнаружить и выдать вменяемую ошибку: "нарушение структуры базы на странице Х ожидалось У, получено О". А не то чтобы молча выдавать восемь строк из шести возможных... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 16:12 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
kdv, в первую очередь при сбое наезжают на разработчика. Разработчик начинает искать на кого бы стрелки перевести. А перевести их на разработчика HDD - это последнее дело. Видимо никто не поймёт. Надо хранить бекапы. А искать чёрную кошку в тёмной комнате, особенно если её там нет - пустое занятие. Давным-давно, когда только появились флешки, клиент решил хранить базу на ней. А чего? Хорошо. Всегда с собой. Если что, можно оперативно вынуть. Но ведь никто не предупредил, что флешка (на том этапе развития) долго не живёт. Вот в один прекрасный момент всё заглючило. База работала, но как-то странно. Оказалось, что большая часть информации безвозвратно потеряна. Хорошо, что удалось вовремя лечение провести и потерянная информация не сильно критична. Можно сказать - произошло чудо. А кто когда думает о бэкапе? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 16:21 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovКак минимум - обнаружить и выдать вменяемую ошибку: оно и так такие сообщения выдает. А если не нравится - сходи в ремонт дисков, они тебе еще чего-нибудь такое расскажут. В принципе, поврежденная база и поврежденная файловая система - почти одно и то же. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 17:06 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
kdv оно и так такие сообщения выдает. Ну если бы выдало багчек (или подобное предупреждение) было бы гораздо лучше, а не молча проглотить ошибку, выдав ее в лог только при валидации. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 20:20 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, проблема с потерявшимися для натурального скана записями из-за этого: Код: plaintext
таких ошибок в логе ровно 2 штуки. Ошибка известная, но очень редкая и пока что не пойманнаяб увы. Но в логе ещё полно мелких несоответствий на PP, куча орфанов и есть ошибки в индексах, что однозначно указывает на нештатное завершение работы БД как минимум один раз. Я уже устал твердить об обязательной валидации БД после любого сбоя. Интересно так же что там с FW ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 11:31 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, после записи на диск страницы не проверяются на целостность. Если где-то сбойнуло, или "ударила молния", обнаружить проблему можно только тогда, когда кто-то обратится к этим данным. Потом. В приложениях это так и есть. А валидация проверяет всю БД целиком, от начала до конца. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 13:59 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
hvlad Интересно так же что там с FW ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 14:58 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
hvlad Но в логе ещё полно мелких несоответствий на PP, куча орфанов и есть ошибки в индексах, что однозначно указывает на нештатное завершение работы БД как минимум один раз Это было давно и неправда, то есть на полуторке, но. У нас по ночам просчитывались весьма серьёзные хранимые агрегаты, процесс продолжался несколько часов. И если оставались брошенные соединения, то мог затянуться так, что не успевал к началу следующего рабочего дня. Почему - загадка, массированных изменений-удалений в оперативной бизнес-логике, по таблицам которой считались эти агрегаты, то есть мусора, не было. Ну, во-первых, под страхом 10% недельной зарплаты через генерала был проведён указ - не бросать включённые компы на ночь, в том числе из противопожарных соображений, на которые он отреагировал с бОльшим пониманием, чем на программистские причуды. А во-вторых ночная богатая внутренняя жизнь сервера (классик на голеньком линуксе без прибамбасов) была организована так: 1. Шатдаун 2. Килл коннектов нофсякей 3. Бэкап без сборки мусора 4. Просчёт 5. Свип 6. В онлайн Несколько лет всё жило как часики, но потом завёлся у нас таракан финансовый аналитик, который забивал на организационные пугалки и запускал вечерком свои продолжительные расчёты и уходил, надеясь что оно успеет до шатдауна. И тут и начали примерно раз в месяц-два биться индексы, причём на таблицах, с которыми расчёты этого кренделя не работали. Пришлось поднять вопрос на совещании, в смысле - мы сегодня до обеда не работали потому что некоторые стали позволять себе накладные карманы и напомнить о подзабытых уже 10%. Подействовало и битьё индексов прекратилось. А килл процесса классика - это ведь и есть нештатное завершение, хотя, казалось бы, после шатдауна не должно бы аукнуться. Напоминаю, что это было давно и неправда :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 23:51 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Напоминаю, что это было давно и неправда :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 02:05 |
|
Битый индекс
|
|||
---|---|---|---|
#18+
hvlad он на днях выйдет. Релиз 3.0.8 очень жду! Ура! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 14:42 |
|
|
start [/forum/topic.php?fid=40&msg=40111591&tid=1559887]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 176ms |
0 / 0 |