Разбить одну базу на 3 и более

123 4
[Удален]
#11

пффф 10 тысяч записей это не серьезно,

параметры сервера в студию, полагаю у вас виртуальный хостинг)

в общем надо смотреть тормозящие запросы используя лог mysql_slow, также использовать кеширование запросов и оптимизировать структуру таблиц тирэ запросов, можте показать запрос который строит категории?

zhitov
На сайте с 30.01.2005
Offline
219
#12
nomarketing:
Просто я ищю решение которое я сам могу предпринять, в оптимизации базы я не силен

Всегда лучше сначала разобраться в том, что вызывает проблему. А уже затем - решать ее.

А вы как-то неправильно действуете... Что-нибудь сделать - вдруг поможет. :(

Изучите вопрос оптимизации баз.

Строительные калькуляторы ( https://www.zhitov.com/ )
nomarketing
На сайте с 23.09.2009
Offline
195
#13
donriga:
пффф 10 тысяч записей это не серьезно,
параметры сервера в студию, полагаю у вас виртуальный хостинг)
в общем надо смотреть тормозящие запросы используя лог mysql_slow, также использовать кеширование запросов и оптимизировать структуру таблиц тирэ запросов, можте показать запрос который строит категории?

Вот запрос -

$sql = "SELECT scat.subcatid, scat.catid, COUNT(*) as adcnt

FROM $t_ads a
INNER JOIN $t_subcats scat ON scat.subcatid = a.subcatid AND ($visibility_condn)
INNER JOIN $t_cats cat ON cat.catid = scat.catid
INNER JOIN $t_cities ct ON a.cityid = ct.cityid
WHERE scat.enabled = '1'
$loc_condn
GROUP BY a.subcatid";


---------- Добавлено 17.10.2012 в 22:49 ----------

zhitov:
Всегда лучше сначала разобраться в том, что вызывает проблему. А уже затем - решать ее.
А вы как-то неправильно действуете... Что-нибудь сделать - вдруг поможет. :(

Изучите вопрос оптимизации баз.

Спасибо, я не сильно рабираюсь в майскуле - но постараюсь изучить все в плане оптимизации.

Капитан покидает корабль последним
bukachuk
На сайте с 07.09.2008
Offline
97
#14

Перенные то в запрос вставьте и сделайте его в базу с EXPLAIN впереди запроса и вообще сколько запрос по времени выполняеться?

Программирование PHP,Mysql (/ru/forum/934470)
[Удален]
#15

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

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

неправильно каждый раз пересчитывать все счетчики и связки категорий

nomarketing
На сайте с 23.09.2009
Offline
195
#16
bukachuk:
Перенные то в запрос вставьте и сделайте его в базу с EXPLAIN впереди запроса и вообще сколько запрос по времени выполняеться?

Жаль что я не могу так быстро ответить вам и сделать то что вы попросили, 1, нет опыта, но я уже прочитал, что это Explain, есть щас доступ на локальный сервер, (т.е где храниться бэкап) там могу попробовать, буду рабираться.. , Или же нужно делать запрос из админ панели phpmyadmin на сервере ?

---------- Добавлено 17.10.2012 в 23:07 ----------

donriga:
судя по запросу вы считаете количество позиций в категориях, я бы не стал так делать,
категории меняются редко их нужно обязательно кешировать, затем я бы вынес счетчики в отдельную таблицу и менял бы их при добавлении новой позиции +1.

неправильно каждый раз пересчитывать все счетчики и связки категорий

К сожелению я в этом не сильно рабираюсь, в оптимизации, но примерно понял что вы имели ввиду, это нужно полностью переделывать все запросы ? или можно только этот ?

[Удален]
#17
nomarketing:
Жаль что я не могу так быстро ответить вам и сделать то что вы попросили, 1, нет опыта, но я уже прочитал, что это Explain, есть щас доступ на локальный сервер, (т.е где храниться бэкап) там могу попробовать, буду рабираться.. , Или же нужно делать запрос из админ панели phpmyadmin на сервере ?

explain

select .... ваш запрос

в phpmyadmin

---------- Добавлено 17.10.2012 в 23:10 ----------

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

какой у вас движок сайта? самописный?

nomarketing
На сайте с 23.09.2009
Offline
195
#18
donriga:
explain
select .... ваш запрос
в phpmyadmin

---------- Добавлено 17.10.2012 в 23:10 ----------

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

какой у вас движок сайта? самописный?

Т.е мне сначала нужно отпимизировать сам запрос,

Потом сделать кэш для запросов ?

Просто дело в том, что контент - практически статичен, все категории статичны, они созданные, и не подлежать переименованию или еще чему либо, разве что добовлению.

Ну а так вроде все.

[Удален]
#19

для начала я бы даже не стал оптимизировать запрос, просто запихнул его в файловый кеш со сроком

жизни час

ну например от так http://ruseller.com/lessons.php?rub=37&id=962

bukachuk
На сайте с 07.09.2008
Offline
97
#20

Можно сделать в локали

Для начала надо оптимизировать запрос, а не пихать его в кеш

Сделайте ваш запрос через phpmyadmin посмотрите время исполнения и покажите вывод EXPLAIN. Возможно просто у вас нет индексов или они неправильно подхватываются.

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий