Подход к обновлению PHP файлов на сервере (оптимизация)

$lider

Бывает
Подход к обновлению PHP файлов на сервере (оптимизация)

Есть основная идея:
контент хранится в БД
PHP:
CREATE TABLE `tema` (
  `id` int(3) NOT NULL default '0',
  `tema` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED;

CREATE TABLE `beta` (
  `id` int(11) NOT NULL auto_increment,
  `text` longtext NOT NULL,
  `tema` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=44390 DEFAULT CHARSET=cp1251;
на основании контента создаются файлы (php) их около 1921 шт., которые потом видит пользователь
Использую запрос:
PHP:
mysql_query("SELECT `tema`,`file`,`zag`,`title`,`desc`,`keywords` FROM `tema` WHERE 1");
do
{
    mysql_query("SELECT `text` FROM `beta` WHERE (`tema` LIKE '% $tema %' OR `tema` LIKE '$tema' OR `tema` LIKE '$tema %' OR `tema` LIKE '% $tema'");
   do
   {
      //здесь формирую имя файла, содержание, создаю сам файл...
   };
}
Так вот: у меня только на запросы уходит 2 минуты :(
Не говоря уже о создании файлов...
TABLE `tema`= 217 записей
TABLE `beta`примерно 45 000 записей

Как можно эту схему оптимизировать??
Хранить id в поле tema таблицы beta?
На сколько будет прирост?
 

Bitterman

Новичок
На сколько будет прирост?
Намного
Только перед этим надо бы перечитать еще раз мануал по MySQL. Чтобы не ставить два индекса на одно поле и не писать 3 одинаковых условия в WHERE.
 

$lider

Бывает
В таблице `tema`:
PHP:
id	tema
65	ЖИЗНЬ
66	ЗНАНИЕ
67	ЛЮБОВЬ
68	МЕДИЦИНА
...
В таблице `beta`:
PHP:
id	tema
4235	ЛЮБОВЬ
4286	ЛЮБОВЬ РАДОСТЬ СЧАСТЬЕ
4301	РАДОСТЬ ЛЮБОВЬ СЧАСТЬЕ
4500	РАДОСТЬ СЧАСТЬЕ ЛЮБОВЬ
...
Вот мне и нужно по слову ЛЮБОВЬ вытягивать...
Использовал бы id, если бы одна тема в `beta` была...
 

Bitterman

Новичок
Таблица тем
Таблица статей
Таблица. в которой указано к какой теме относится какая статья
Ключевые слова для поиска - "связь многие ко многим"

P.S.
на основании контента создаются файлы (php) их около 1921 шт., которые потом видит пользователь
Я надеюсь ты просто описАлся и имелись в виду файлы html?
 

antson

Новичок
Партнер клуба
? скажите Вам платять за строчку кода пхп ?

вытаскивать данные из муськи данные, чтобы сгенерить php, который все равно будет конектиться к мускулу (запросы)

напоминает операцию на гландах
 

$lider

Бывает
Может не совсем точно выразился...
не запросы конечно... Но инклуды (top, left...) нужны.
 

$lider

Бывает
Исключая вопросы:
PHP:
<?
include("../top.php");
include("../left.php");

// здесь то, что выгребли в запрос

include("../down.php");
?>
Создаются файлы такой структуры.
 
Сверху