ПРАВОВАЯ ОГОВОРКА: чтение комментирует ниже тщательно, и я предполагаю, что Вы уже прочитали принятый ответ. Поскольку я сказал почти 5 лет назад:
<час>, если у кого-либо есть какие-либо комментарии для добавления для ситуаций, когда это не верное или оптимальное решение тогда, прокомментируйте ниже
Щелчок правой кнопкой по имени базы данных.
Избранные Задачи в †’ Уменьшают в †’ База данных
Тогда щелчок хорошо !
я обычно открываю каталог Windows Explorer, содержащий файлы базы данных, таким образом, я могу сразу видеть эффект.
я был на самом деле вполне удивлен, что это работало! Обычно я использовал DBCC прежде, но я просто попробовал это, и он ничего не уменьшал, таким образом, я попробовал GUI (2005), и он работал отлично - освобождающий 17 ГБ за 10 секунд
В полном режиме восстановления, это не могло бы работать, таким образом, необходимо или создать резервную копию журнала сначала, или измениться на Простое восстановление, затем уменьшить файл. [спасибо @onupdatecascade для этого]
-
пз: Я ценю то, что некоторые прокомментировали относительно опасностей этого, но в моей среде у меня не было проблем, делающих это самого тем более, что я всегда делаю полное резервное копирование сначала. Поэтому учтите то, что Ваша среда, и как это влияет на Вашу стратегию резервного копирования и обеспеченность работой перед продолжением. Все, что я делал, указывало на людей на функцию, обеспеченную Microsoft!
Попробуйте минимальное идеальное хеширование :
Минимальное идеальное хеширование гарантирует, что n ключей будут отображаться в 0..n-1 без каких-либо конфликтов.
C код включен.
Хм, всего 256 возможных значений, так как вы проанализируете свой исходный код, чтобы узнать все возможные функции, возможно, лучший способ сделать это - присвоить номер каждой вашей функции ?? ?
Настоящая хеш-функция, вероятно, не будет работать, потому что у вас есть только 256 возможных хешей. но вы хотите отобразить по крайней мере 26 ^ 15 возможных значений (при условии, что имена функций состоят только из букв и без учета регистра). Даже если вы ограничите количество возможных строк (применив некоторое обязательное форматирование), вам будет сложно получить как значимые имена, так и действительную хеш-функцию.
Вы можете использовать дерево Хаффмана для сокращения имен ваших функций в соответствии с частотой их использования в вашей программе. Наиболее распространенная функция может быть сокращена до 1 бита, менее распространенная - до 4-5, очень редких функций - до 10-15 бит и т. Д. Дерево Хаффмана не очень сложно реализовать, но вам придется что-то делать с выравниванием битов.
Если у вас есть способ отслеживать функции внутри вашего кода (т.е. текстового файла, созданного во время выполнения) вы можете просто использовать ячейки памяти каждой функции. Не совсем байт, но меньше всего имени и гарантированно уникален. Это дает дополнительное преимущество в виде низких накладных расходов. Все, что вам нужно для «декодирования» адреса, - это текстовый файл, который сопоставляет адреса с реальными именами; это может быть отправлено в удаленное место или, как я уже упоминал, сохранено на локальной машине.
Нет, его нет.
Вы не можете создать хэш-код без конфликтов, или даже близко к нему, всего с восьмибитным хешем. Если вы разрешаете строки длиннее одного символа, у вас будет больше возможных строк, чем возможных хэш-кодов.
Почему бы просто не извлечь имена функций и не присвоить каждому имени функции идентификатор? Тогда вам понадобится только таблица поиска на каждой стороне провода.