<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум PHP-MyAdmin.RU &mdash; автоматическая оптимизация всех баз данных]]></title>
		<link>https://forum.php-myadmin.ru/viewtopic.php?id=1432</link>
		<atom:link href="https://forum.php-myadmin.ru/extern.php?action=feed&amp;tid=1432&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «автоматическая оптимизация всех баз данных».]]></description>
		<lastBuildDate>Sun, 01 Nov 2009 17:32:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: автоматическая оптимизация всех баз данных]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=9488#p9488</link>
			<description><![CDATA[<p>Спасибо, попробую.</p>]]></description>
			<author><![CDATA[null@example.com (=USSR=)]]></author>
			<pubDate>Sun, 01 Nov 2009 17:32:32 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=9488#p9488</guid>
		</item>
		<item>
			<title><![CDATA[Re: автоматическая оптимизация всех баз данных]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=9487#p9487</link>
			<description><![CDATA[<p><strong>=USSR=</strong><br />Если доступа к командной строке нет, то используйте данный PHP скрипт. В массиве пропишите имена баз данных, в функции подключения к MySQL, соответственно, данные учетной записи.<br /></p><div class="codebox"><pre><code>&lt;?php

$aDB = array(&#039;db_name_1&#039;, &#039;db_name_2&#039;, &#039;db_name_3&#039;); // Массив имен баз данных.

function Connect() { // Функция подключения к MySQL.
    $link = mysql_connect(&#039;localhost&#039;, &#039;root&#039;, &#039;pass&#039;) or die(&#039;mysql_connect&#039;);
    return $link;
}

$link = Connect();

foreach ($aDB as $db_name) {
    $data = array();
    $sql = &#039;SHOW TABLE STATUS FROM `&#039; . $db_name . &#039;` WHERE `Data_free` &gt; 0&#039;;
    $result = mysql_query($sql);
    if (mysql_num_rows($result) &gt; 0) {
        while ($row = mysql_fetch_assoc($result)) {
            $data[] = &#039;`&#039; . $db_name . &#039;`.`&#039; . $row[&#039;Name&#039;] . &#039;`&#039;;
        }
        mysql_free_result($result);
    } else continue;

    $sql = &#039;OPTIMIZE TABLE &#039; . implode(&#039;,&#039;, $data);
    mysql_query($sql);
}

?&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Sun, 01 Nov 2009 10:19:37 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=9487#p9487</guid>
		</item>
		<item>
			<title><![CDATA[Re: автоматическая оптимизация всех баз данных]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=9486#p9486</link>
			<description><![CDATA[<p>Нужен скрипт который автоматически будет оптимизировать базы данных по крону. Кто сможет написать или посоветовать готовый скрипт? <br />Услуга оплачивается.</p>]]></description>
			<author><![CDATA[null@example.com (=USSR=)]]></author>
			<pubDate>Sat, 31 Oct 2009 23:17:02 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=9486#p9486</guid>
		</item>
		<item>
			<title><![CDATA[Re: автоматическая оптимизация всех баз данных]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=9484#p9484</link>
			<description><![CDATA[<p><strong>=USSR=</strong><br />Запросом нельзя сделать оптимизацию баз данных, только таблиц.<br />Если нет доступа к командной строке и нельзя использовть mysqlcheck, то в SQL-запросе надо перечислить все таблицы нуждающиеся в оптимизации. Запрос я указал выше.</p>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Sat, 31 Oct 2009 18:39:43 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=9484#p9484</guid>
		</item>
		<item>
			<title><![CDATA[Re: автоматическая оптимизация всех баз данных]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=9483#p9483</link>
			<description><![CDATA[<p>так как правильно составить запрос на оптимизацию всех баз данных?</p>]]></description>
			<author><![CDATA[null@example.com (=USSR=)]]></author>
			<pubDate>Sat, 31 Oct 2009 17:36:01 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=9483#p9483</guid>
		</item>
		<item>
			<title><![CDATA[Re: автоматическая оптимизация всех баз данных]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=9482#p9482</link>
			<description><![CDATA[<p><strong>=USSR=</strong><br />В документации MySQL смотрите описание программы mysqlcheck: <a href="http://dev.mysql.com/doc/refman/5.1/en/mysqlcheck.html">http://dev.mysql.com/doc/refman/5.1/en/mysqlcheck.html</a><br />Ключ --optimize определяет необходимость оптимизировать таблицы.<br />Ключ --all-databases указывает, что требуется выполнить определенную операцию над всеми базами данных.</p><p>Обычно не все БД требуют постоянной оптимизации, поэтому можно использовать ключ --databases после которого перечисляются необходимые БД.</p><p>Если надо задать только определенные таблицы в БД, то можно использовать перечисление таблиц сразу после ключа --optimize.</p><p>Выполнение оптимизации с помощью mysqlcheck можно назначить периодически выполняемой задачей по Cron.</p><p>Если нужен именно SQL-запрос для оптимизации таблиц, то он должен выглядеть так:<br />OPTIMIZE TABLE tbl_name [, tbl_name] ...</p><p>Задать оптимизацию всех таблиц определенной БД, запросом нельзя.</p>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Sat, 31 Oct 2009 15:45:07 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=9482#p9482</guid>
		</item>
		<item>
			<title><![CDATA[автоматическая оптимизация всех баз данных]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=9481#p9481</link>
			<description><![CDATA[<p>Здравствуйте!<br />Столкнулся с такой проблемой. У меня на моем сервере создано много баз данных, больших и маленьких и периодически необходимо все эти базы оптимизировать т.к. производительность системы сильно падает. Руками оптимизировать каждую базу очень трудоемкая работа. А нельзя ли как-то задать такой запрос чтобы все базы данных оптимизировались автоматически?<br />PS Не нашел ответа на свой вопрос по форуму, решил создать тему, извиняюсь если этот вопрос уже задавали.</p>]]></description>
			<author><![CDATA[null@example.com (=USSR=)]]></author>
			<pubDate>Sat, 31 Oct 2009 12:42:37 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=9481#p9481</guid>
		</item>
	</channel>
</rss>
