Как очистить базу данных sql

Чистим базу данных MySql от ненужного мусора и ускоряем работу блога

Как очистить базу данных sqlВсем привет друзья. В сегодняшней статье я хочу рассказать вам, как очистить базу данных MySql от ненужного мусора и существенно ускорить работу всего блога. Не так давно, я переносил свой блог на другой хостинг (о его преимуществах написал в этой статье) и при переносе базы данных заметил, что ее размер составляет почти 57 Mb. Мягко говоря, я был удивлен, ведь перенос разных сайтов осуществлялся не один раз до этого, и тогда размеры баз составляли от 1 до 20 Mb, а сами сайты были намного больше этого блога. Откуда у блога с количеством статей меньше 200 может взяться такой огромный размер базы данных? Естественно я начал разбираться в этом деле и хочу поделиться с вами результатами своей работы.

Но перед этим давайте рассмотрим основные элементы, которые так сильно увеличивают размер нашей базы данных, и по порядку будем выполнять действия для уменьшения ее размера.

— Рост статей на блоге (здесь мы ничего оптимизировать не будем, это вполне нормальное явление у каждого развивающегося блога).

— Увеличение количества ревизий (резервные копии написанной статьи). Когда мы пишем статьи на свой блог, движок WordPress автоматически через определенные периоды времени создает резервные копии этой самой статьи. К примеру, последняя написанная мною статья на блог, получила 4 ревизии.

Как очистить базу данных sql

И это притом, что написана она была в текстовом редакторе Word и только после этого вставлена на блог, где я уже проводил небольшие поправки. Теперь представьте ситуацию, если бы я писал статью непосредственно с админки блога. Тогда бы количество ревизий исчислялось бы десятками, а каждая из них это дополнительный размер вашей базы данных.

Чтобы такого больше не повторялось, мы запретим нашему движку создавать резервные копии записей. Для этого откройте файл wp-config.php (он находится в корне вашего сайта) и после строки

вставьте следующую строку

которая полностью запрещает создавать резервные копии записей. В результате у вас должна получится вот такая комбинация:

Как очистить базу данных sql

Если же вы хотите чтобы ревизии постов создавались, но в строго ограниченном количестве, тогда после строки

где цифра 2 означает количество создаваемых ревизий (можете менять ее на любую цифру).

Для того, чтобы создать резервную копию базы данных, зайдите в phpMyAdmin (система управления базами данных) выберите в меню слева нужную вам базу, отметьте все таблицы и нажмите кнопку «Экспорт», после чего жмем «ОК» и сохраняем копию базы данных.

Как очистить базу данных sql

Эти действия хороши для новых записей, а как же быть с уже опубликованными ранее записями с ревизиями? Все очень просто, заходите на своем хостинге в phpMyAdmin и в строке SQL (верхнее горизонтальное меню) выполняете данный запрос:

DELETE FROM wp_posts WHERE post_type = «revision»

и подтверждаете свои действия нажатием кнопки «ОК».

Как очистить базу данных sql

Не переживайте, этот запрос удалит только резервные копии, все ваши записи останутся целыми и невредимыми.

— Рост количества комментариев на блоге. Опять-таки, если это нормальные человеческие комментарии, то все ок, тут наоборот радоваться нужно. Но, наверное, уже все знают, что на 1 нормальный комментарий, приходится около 10 спамных. Для борьбы со спамными комментариями можете прочесть вот эту статью.

Взгляните на мою статистику комментариев:

Как очистить базу данных sql

Больше 23000 комментариев находятся в корзине, и каждый из них занимает свое место в базе данных. Также есть 28 спамных комментариев.

Для того, чтобы удалить все спамные комментарии из базы, данных делаем такой SQL-запрос:

DELETE FROM wp_comments WHERE comment_approved = «spam»

Для удаления всех комментариев из корзины, выполняем такой SQL-запрос:

DELETE FROM wp_comments WHERE comment_approved = «trash»

У многих блоггеров установлен плагин Akismet который довольно хорошо ведет борьбу с назойливыми спамерами, но в свою очередь тоже нагружает базу данных. Для того, чтобы очистить таблицу wp_commentmeta (именно в эту таблицу и записывает свои данные плагин Akismet) совершим такой SQL-запрос:

DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments)

А теперь друзья, давайте все это дело свяжем воедино и скачаем плагин WP-Cleanup целью которого, является выполнение части задач, которые я описал выше, и не только их:

— удаление неодобренных комментариев

— удаление неиспользуемых тегов

— удаление неиспользуемых META-данных

— оптимизация неиспользуемой части БД

Итак, устанавливаем плагин и в консоле блоге переходим по адресу Настройки- WP-Cleanup, отмечаем чекерами все поля и жмем кнопку «Cleanup the selected items!»

Как очистить базу данных sql

Всего через пару секунд вы увидите примерно такое сообщение с уведомлением о выполненной работе по оптимизации:

Как очистить базу данных sql

А теперь давайте сравним результаты до оптимизации базы данных и после.

До начала работ размер базы данных составлял почти 57 Mb, после выполнения всех операций описанных выше размер базы составил 8,7 Mb. Представьте себе, почти в 7 раз размер базы данных стал меньше.

Ну и напоследок можно еще в phpMyAdmin зайти в вашу базу данных выделить все таблицы и выбрать из выпадающего списка пункт Оптимизировать таблицу. После такой оптимизации, вес моей базы данных уменьшился еще на 300 Kb.

Как очистить базу данных sql

Вот так вот друзья. Кстати после проведенной оптимизации, блог стал намного быстрее загружаться, чему я, несомненно, рад.

Ну, а я буду заканчивать этот пост. Обязательно проводите чистку ваших баз, и если что-то непонятно переспросите у меня перед выполнением работ.

Источник

Урок 3. Удаление объектов базы данных

На этом коротком занятии рассматривается удаление объектов, созданных на занятиях 1 и 2, а затем удаление базы данных.

Перед удалением объектов необходимо убедиться, что используется нужная база данных:

Отзыв разрешений на хранимые процедуры

С помощью инструкции REVOKE удаляется разрешение на выполнение, предоставленное Mary на хранимую процедуру:

Удаление разрешений

С помощью инструкции DROP удаляется разрешение, предоставленное Mary для доступа к базе данных TestData :

С помощью инструкции DROP удаляется разрешение, предоставленное Mary для доступа к экземпляру SQL Server 2005 (9.x):

С помощью инструкции DROP удаляется хранимая процедура pr_Names :

С помощью инструкции DROP удаляется представление vw_Names :

Удалить таблицу

С помощью инструкции DELETE удаляются все строки таблицы Products :

С помощью инструкции DROP удаляется таблица Products :

Удаление базы данных

Базу данных TestData невозможно удалить во время нахождения в ней; поэтому сначала требуется переключить контекст на другую базу данных и только после этого с помощью инструкции DROP удалить базу данных TestData :

Это заключительный шаг учебника «Составление инструкций Transact-SQL ». Помните, что этот учебник содержит только краткий обзор и не включает описания всех параметров используемых инструкций. Для проектирования и создания эффективной структуры базы данных и настройки безопасного доступа к данным требуется более сложная база данных, чем показанная в примерах данного учебника.

Источник

Как урезать / очистить базу данных 1С средствами MS-SQL

Для начала рассмотрим, как происходит резка периода. На определенную дату, чаще всего не конец года, скажем « 31.12.2003 », вычисляются конечные остатки по всем регистрам. Далее, на начало года, на « 01.01.2004 », вводятся эти остатки документами ввода начальных остатков. При этом в новом году в документах не должно быть ссылок на документы прошлого года – так называемых документов, введенных на основании, иначе удаление средствами 1С не сможет удалить документы, на которые есть ссылки. Также следует уделить внимания периодическим реквизитам, введенных документами, так как в момент отмены проведения документа эти периодические реквизиты перестанут существовать. Чтобы не было казусов, все периодические реквизиты, устанавливаемые документами нужно перед удалением выставить заново с начала года.

В совокупности – это достаточно длительный процесс, особенно для больших баз с большим количеством документов в удаляемом периоде.

Что требуется сделать? Просто запустить скрипт, например из SQL Query Analizer ’а. Текст скрипта представлен ниже:

USE MyTestBase
Go
CREATE TABLE ##ID
(IDDOC char(9) primary key clustered)
Go
INSERT INTO ##ID
SELECT DISTINCT IDDOC
FROM _1SJOURN
WHERE (DATE_TIME_IDDOC

После выполнения данного скрипта остается только войти в режим конфигуратора и сделать пересчет служебных данных и пересчет итогов. На случай, если вы не избавились от ссылок на старые документы, то необходимо сделать еще и проверку логической целостности. В настройках поставить « Очищать ссылки ».

Время, минут:секунд.Удаление средствами 1CУдаление средствами MS-SQL
53:415:39

Источник

Практическое руководство. Как удалить строки из базы данных

Можно удалить строки в базе данных, удалив соответствующие LINQ to SQL объекты из их коллекции, связанной с таблицами. LINQ to SQLпреобразует изменения в соответствующие DELETE команды SQL.

LINQ to SQL не поддерживает или не распознает операции каскадного удаления. Если требуется удалить строку в таблице, имеющей ограничения, необходимо выполнить любую из следующих задач.

Установите правило ON DELETE CASCADE в ограничении внешнего ключа в базе данных.

Используйте собственный код, чтобы сначала удалить дочерние объекты, не допускающие удаление родительского объекта.

В противном случае создается исключение. См. второй пример кода далее в этом разделе.

разработчики, использующие Visual Studio, могут использовать реляционный конструктор объектов для разработки хранимых процедур для той же цели.

В следующих шагах предполагается, что подключение к базе данных Northwind выполняется с помощью допустимого объекта DataContext. дополнительные сведения см. в разделе инструкции. Подключение к базе данных.

Удаление строки в базе данных

Отправьте в базу данных запрос на удаляемую строку.

Отправьте изменение в базу данных.

Пример 1

В первом примере кода в базу данных отправляется запрос на сведения о заказе «Order #11000», помечаются сведения для удаления, а изменения отправляются в базу данных.

Пример 2

Целью второго примера является удаление заказа (с номером 10250). Код сначала проверяет таблицу OrderDetails на наличие в ней дочерних элементов удаляемого заказа. Если в таблице есть дочерние элементы заказа, сначала они, а затем сам заказ помечаются для удаления. DataContext располагает фактические действия по удалению в надлежащей последовательности, чтобы команды удаления, отправляемые в базу данных, подчинялись ее ограничениям.

Источник

Удаление базы данных

В этом разделе описывается, как удалить пользовательскую базу данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

В этом разделе

Перед началом работы

Удаление базы данных с использованием следующих средств:

Дальнейшие действия. После удаления базы данных

Перед началом

Ограничения

Предварительные требования

Удалите все моментальные снимки базы данных, которые существуют для базы. Дополнительные сведения см. в разделе Удаление моментального снимка базы данных (Transact-SQL).

Если база данных участвует в доставке журналов, удалите доставку журналов.

Если база данных публикуется для репликации транзакций, опубликована или подписана на репликацию слиянием, удалите репликацию из базы данных.

Рекомендации

безопасность

Permissions

Для выполнения инструкции DROP DATABASE пользователь должен, как минимум, иметь разрешение CONTROL на базу данных.

Использование среды SQL Server Management Studio

Удаление базы данных

В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engineи разверните его.

Разверните Базы данных, щелкните правой кнопкой мыши удаляемую базу данных и затем нажмите кнопку Удалить.

Подтвердите, что выбрана верная база данных, а затем нажмите кнопку ОК.

Использование Transact-SQL

Удаление базы данных

Установите соединение с компонентом Компонент Database Engine.

На панели «Стандартная» нажмите Создать запрос.

Дальнейшие действия. После удаления базы данных

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *