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

  • Автор темы Автор темы $lider
  • Дата начала Дата начала

$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?
На сколько будет прирост?
 
На сколько будет прирост?
Намного
Только перед этим надо бы перечитать еще раз мануал по MySQL. Чтобы не ставить два индекса на одно поле и не писать 3 одинаковых условия в WHERE.
 
В таблице `tema`:
PHP:
id	tema
65	ЖИЗНЬ
66	ЗНАНИЕ
67	ЛЮБОВЬ
68	МЕДИЦИНА
...

В таблице `beta`:
PHP:
id	tema
4235	ЛЮБОВЬ
4286	ЛЮБОВЬ РАДОСТЬ СЧАСТЬЕ
4301	РАДОСТЬ ЛЮБОВЬ СЧАСТЬЕ
4500	РАДОСТЬ СЧАСТЬЕ ЛЮБОВЬ
...

Вот мне и нужно по слову ЛЮБОВЬ вытягивать...
Использовал бы id, если бы одна тема в `beta` была...
 
Таблица тем
Таблица статей
Таблица. в которой указано к какой теме относится какая статья
Ключевые слова для поиска - "связь многие ко многим"

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

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

напоминает операцию на гландах
 
Может не совсем точно выразился...
не запросы конечно... Но инклуды (top, left...) нужны.
 
Исключая вопросы:
PHP:
<?
include("../top.php");
include("../left.php");

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

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