nomarketing

nomarketing
Рейтинг
195
Регистрация
23.09.2009

Вот ответ на мой выше запрос.

Там где чорное, то имя базы, закрасил на всякий :)

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

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

Cпасибо большое, а что мне даст запрос, который я привел выше только с EXPLAIN ?

Я вот щас переменные найду и сделаю запрос,

А так я понял в принципе что нужно делать,

За что очень благодарен :)

Но запрос выложу как сделаю

donriga:
explain
select .... ваш запрос
в phpmyadmin

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

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

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

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

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

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

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

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

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

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

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

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

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

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:
10 к это слезы и лям тоже, создайте индексы

Что нужно сделать ?

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

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

сколько у вас запросов в секунду?
давайте больше информации

Разбить базу на сервера. т.е будет идти нагрузка не на одну базу - а на разные которые будут находиться на отдельных адрессах.

bukachuk:
Сколько записей в базе?

10к точно есть и более просто много категорий и под.

Вот решил что бы хостер меня не спихнул с хоста, заказать базы,

Потом - по тихоньку отделять главные категории с подкатегориями в отдельную базу

Потом если юзеры будут переходить на ну или инную категорию ( то будет подключаться конфиг базы)

Просто решил спросить. на всякий не сильно в этом шарю в оптимизации и т д - хотя там опимизированно хорошо все.

Да у всех так :) у меня было 127к страниц - сейчас до двух миллионов доходит - они то есть, но раньше небыли проиндексировнны. А кол кликов + % упали.

Здаеться мне - эти шуточки скоро закончаться, либо будет еще хуже.

Вам ни какие схемы не помогут.

Скоро все востановиться - или же будет еще хуже.

Без вариантов.

Гугл решил ткнуть пальцем в муравейник, что бы зашевелились, а то скучно наверно.

Всего: 710