Верно. Но по-моему пусть лучше в некоторых каталогах будет не хватать файлов, чем каждый раз все файлы в каталогах пересчитывать.
Зачем пересчитывать файлы? У вас база синхронизирована с файловой системой. Ну так и используйте возможности базы. COUNT(*) для заданного каталога, вернет кол-во файлов в каталоге. Или можете свой счетчик организовать: специальная таблица, где хранится счетчик для каждого каталога.
15.12.2010, 12:55
saxar
Цитата:
Сообщение от Mulder
Зачем пересчитывать файлы? У вас база синхронизирована с файловой системой. Ну так и используйте возможности базы. COUNT(*) для заданного каталога, вернет кол-во файлов в каталоге. Или можете свой счетчик организовать: специальная таблица, где хранится счетчик для каждого каталога.
хм... И это верно, почти :) Но вот в моём случае как можно быстро узнать id удалённой записи, чтоб именно её можно было добавить? ведь у меня сделано так, что в зависимости от id файл размещается в определенном каталоге(например, в папке 0000 будут id от 1 до 999, в папке 1000 будут от 1000 до 1999).
По-моему самое верное будет не удалять записи из БД, а помечать удаленными, чтоб в последствии их заменить.
15.12.2010, 14:24
Mulder
Цитата:
Сообщение от saxar
хм... И это верно, почти :) Но вот в моём случае как можно быстро узнать id удалённой записи, чтоб именно её можно было добавить? ведь у меня сделано так, что в зависимости от id файл размещается в определенном каталоге(например, в папке 0000 будут id от 1 до 999, в папке 1000 будут от 1000 до 1999).
По-моему самое верное будет не удалять записи из БД, а помечать удаленными, чтоб в последствии их заменить.
В задаче не стоит пункт про удаление файлов. Только поиск дубликатов. Их вообще просто делать. Хранить в базе имена файлов и по полю имен сделать уникальный индекс. Выборка будет практически мгновенной.
Если нужно удаление, то опять же вы знаете имя файла, который удаляется. Т.к. по условию задачи все имена уникальны, делайте простейший запрос:
DELETE * FROM `table` WHERE `name` = 'filename';
15.12.2010, 14:29
acad
Mulder, ну если я опять не верно сформулировал. то скажите как верно.
Mulder, ну если я опять не верно сформулировал. то скажите как верно.
Я ж написал, задайте вопрос прямо: какое кол-во файлов в каталоге считать оптимальным при огромном кол-ве этих файлов.
15.12.2010, 15:48
Flok
Doc.X и acad идут ноздря в ноздрю )) ) я бы им обоим дал первое место независимо от результатов (ну сами посудите - разница в 1-2 балла - фигня по сравнению с разницей в 100500 баллов.)
15.12.2010, 16:05
Ramster
Flok, думаю даже при минимальной разницы давать обоим первое место не стоит. Да и ещё предстоит узнать результаты за 7,8,9 и 10 задания - ещё может много измениться.
15.12.2010, 19:30
Flok
Ramster, ну почему же, ведь они в равной степени проявили себя. и баллы потеряны не столько из-за ошибок в коде, сколько из-за неправильной интерпретаций заданий. я из-за таких инттерпретаций ещё на 3 задании забил на конкурс. а они продержались до конца )