[image]

Все-таки требуется помощь по MySQL

 
+
-
edit
 

Balancer

администратор
★★★★★
20000 топиков, общий объём - около 4Мб.
Мало того, что такой объём держать в памяти скриптов - это самоубийство, так ещё как решать проблемы синхронизации? В какой памяти, собственно, их держать предполагается? :)
   
US [Сергей] #23.02.2004 22:47
+
-
edit
 
Ну... проблемы синхронизации, вероятно, решить можно, но объем - да, проблема. С другой стороны, 4 MB - в общем, копейки. В памяти - наверное, в отдельном процессе - типа, запускается служба, при инициализации - читает все топики и ждет. При надобности - принимает и обрабатывает запросы типа "создать", "удалить", "изменить" - пишет/читает в тот же mysql. Кроме этих запросов - может дать список ключей по какому-нибудь запросу а также - все поля по ключу. Впрочем, геморрой, конечно, еще тот. :( Вряд ли будет интересно с этим упираться - на недельку небось будет упражнение если делать все по уму... Сорри - идея дублировать функции сервера баз данных была мало того, что безумная, так еще и глупая . :) Был неправ.
 
+
-
edit
 

Balancer

администратор
★★★★★
[Сергей:],23.02.2004 22:47:10
В памяти - наверное, в отдельном процессе - типа, запускается служба, при инициализации - читает все топики и ждет. При надобности - принимает и обрабатывает запросы типа "создать", "удалить", "изменить"
 


Такая служба есть. Более того - при отсутствии надобности в даных топика (например, никто на форум не лезет ночью) она и в файл временный сбросить может. И других вкусностей куча.

MySQL + файловая подсистема Linux оно называется

:D

>Сорри - идея дублировать функции сервера баз данных была мало того, что безумная, так еще и глупая . :) Был неправ.

Вот, видишь, ты и сам всё понял :)
А под кеш операционка итак десятки мегабайт тратит. И часто используемый файл, типа того же ib_topics итак закешируется :)
   
?? [Сергей] #24.02.2004 03:03
+
-
edit
 
Но в вашем-то случае таковая служба очевидно не работает. :) По крайней мере - не работает так эффективно, как хотелось бы.
 
+
-
edit
 

Balancer

администратор
★★★★★
А твоя система тоже не в состоянии будет закешировать 600Мб результата обработки запроса :)
   
?? [Сергей] #24.02.2004 20:29
+
-
edit
 
А под кеш операционка итак десятки мегабайт тратит. И часто используемый файл, типа того же ib_topics итак закешируется
 


Вы вроде говорили о 4 MB? Так или иначе - у себя на сервере я таким образом кэширую две таблицы, по которым идут самые активные запросы. И работает это много быстрее, чем при вызове данных через SQL. На самом деле, я не знаю - кэширует ли MySQL данные сам или полагается на файловую систему. Если полагается - надо думать, подход "ручного кэширования" себя оправдывает.

 
+
-
edit
 

Balancer

администратор
★★★★★
[Сергей:],24.02.2004 20:29:50
Вы вроде говорили о 4 MB?
 


Это одна таблица. Так когда обращения идут только к ней, то всё итак хорошо :) Когда же она джойнится с другими - см. с начала топика.

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

Да пока промежуточные результаты помещаются в память - куда уж больше. Среднее время создания страницы форума - менее 0.1 сек. это сейчас 11 запросов. Даже если предположить, что MySQL-вызовы - самое ресурсоёмкое, то и тогда у нас получается менее 0.01сек на вызов. Это не принципиально :)

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

И кешированием операционки пользуется, и своим собственным. Всё же, не стоит забывать, что на сегодня MySQL - одна из самых быстрых СУБД :)
   

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru